org.pentaho.platform.plugin.services.metadata
Class SessionCachingMetadataDomainRepository
java.lang.Object
org.pentaho.platform.plugin.services.metadata.SessionCachingMetadataDomainRepository
- All Implemented Interfaces:
- org.pentaho.metadata.repository.IMetadataDomainRepository, ILogoutListener
public class SessionCachingMetadataDomainRepository
- extends Object
- implements org.pentaho.metadata.repository.IMetadataDomainRepository, ILogoutListener
This is the platform implementation which provides session-based caching for an existing IMetadataDomainRepository
.
- Author:
- Jordan Ganoff (jganoff@pentaho.com)
Field Summary |
static String |
CACHE_REGION
Public so others know where we're caching our objects |
Fields inherited from interface org.pentaho.metadata.repository.IMetadataDomainRepository |
ACCESS_TYPE_ADMIN, ACCESS_TYPE_DELETE, ACCESS_TYPE_READ, ACCESS_TYPE_SCHEMA_ADMIN, ACCESS_TYPE_UPDATE, ACCESS_TYPE_WRITE |
Constructor Summary |
SessionCachingMetadataDomainRepository(org.pentaho.metadata.repository.IMetadataDomainRepository delegate)
Wraps the provided domain repository to provide session-based caching of domains. |
CACHE_REGION
public static String CACHE_REGION
- Public so others know where we're caching our objects
SessionCachingMetadataDomainRepository
public SessionCachingMetadataDomainRepository(org.pentaho.metadata.repository.IMetadataDomainRepository delegate)
- Wraps the provided domain repository to provide session-based caching of domains.
getDomain
public org.pentaho.metadata.model.Domain getDomain(String id)
- Specified by:
getDomain
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
reloadDomains
public void reloadDomains()
- Specified by:
reloadDomains
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
flushDomains
public void flushDomains()
- Specified by:
flushDomains
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
removeDomain
public void removeDomain(String domainId)
- Specified by:
removeDomain
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
storeDomain
public void storeDomain(org.pentaho.metadata.model.Domain domain,
boolean overwrite)
throws org.pentaho.metadata.repository.DomainIdNullException,
org.pentaho.metadata.repository.DomainAlreadyExistsException,
org.pentaho.metadata.repository.DomainStorageException
- Specified by:
storeDomain
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
- Throws:
org.pentaho.metadata.repository.DomainIdNullException
org.pentaho.metadata.repository.DomainAlreadyExistsException
org.pentaho.metadata.repository.DomainStorageException
removeModel
public void removeModel(String domainId,
String modelId)
throws org.pentaho.metadata.repository.DomainIdNullException,
org.pentaho.metadata.repository.DomainStorageException
- Specified by:
removeModel
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
- Throws:
org.pentaho.metadata.repository.DomainIdNullException
org.pentaho.metadata.repository.DomainStorageException
getDomainIds
public Set<String> getDomainIds()
- Specified by:
getDomainIds
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
generateRowLevelSecurityConstraint
public String generateRowLevelSecurityConstraint(org.pentaho.metadata.model.LogicalModel model)
- Specified by:
generateRowLevelSecurityConstraint
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
hasAccess
public boolean hasAccess(int accessType,
org.pentaho.metadata.model.concept.IConcept aclHolder)
- Specified by:
hasAccess
in interface org.pentaho.metadata.repository.IMetadataDomainRepository
onLogout
public void onLogout(IPentahoSession session)
- Specified by:
onLogout
in interface ILogoutListener
- Parameters:
session
- Performs any logout actions based on this session.