public class SessionCachingMetadataDomainRepository extends Object implements org.pentaho.metadata.repository.IMetadataDomainRepository, IPentahoMetadataDomainRepositoryExporter, org.pentaho.platform.api.engine.ILogoutListener, IAclAwarePentahoMetadataDomainRepositoryImporter, IModelAnnotationsAwareMetadataDomainRepositoryImporter
IMetadataDomainRepository.| Modifier and Type | Class and Description |
|---|---|
static class |
SessionCachingMetadataDomainRepository.CacheKey
this as a public class so that if necessary someone can get access to a session key and clear the cache in their
own way via javascript rule / etc
|
| Modifier and Type | Field and Description |
|---|---|
static String |
CACHE_REGION
Public so others know where we're caching our objects
|
ACCESS_TYPE_ADMIN, ACCESS_TYPE_DELETE, ACCESS_TYPE_READ, ACCESS_TYPE_SCHEMA_ADMIN, ACCESS_TYPE_UPDATE, ACCESS_TYPE_WRITEANNOTATIONS_FILE_ID_POSTFIX, PROPERTY_NAME_ANNOTATIONS| Constructor and Description |
|---|
SessionCachingMetadataDomainRepository(org.pentaho.metadata.repository.IMetadataDomainRepository delegate)
Wraps the provided domain repository to provide session-based caching of domains.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addLocalizationFile(String domainId,
String locale,
InputStream inputStream,
boolean overwrite) |
void |
flushDomains() |
String |
generateRowLevelSecurityConstraint(org.pentaho.metadata.model.LogicalModel model) |
org.pentaho.platform.api.repository2.unified.RepositoryFileAcl |
getAclFor(String domainId) |
org.pentaho.metadata.model.Domain |
getDomain(String id) |
Map<String,InputStream> |
getDomainFilesData(String domainId) |
Set<String> |
getDomainIds() |
boolean |
hasAccess(int accessType,
org.pentaho.metadata.model.concept.IConcept aclHolder) |
boolean |
hasAccessFor(String domainId) |
String |
loadAnnotationsXml(String domainId) |
void |
onLogout(org.pentaho.platform.api.engine.IPentahoSession session) |
void |
reloadDomains() |
void |
removeDomain(String domainId) |
void |
removeModel(String domainId,
String modelId) |
void |
setAclFor(String domainId,
org.pentaho.platform.api.repository2.unified.RepositoryFileAcl acl) |
void |
storeAnnotationsXml(String domainId,
String annotationsXml) |
void |
storeDomain(org.pentaho.metadata.model.Domain domain,
boolean overwrite) |
void |
storeDomain(InputStream inputStream,
String domainId,
boolean overwrite) |
void |
storeDomain(InputStream inputStream,
String domainId,
boolean overwrite,
org.pentaho.platform.api.repository2.unified.RepositoryFileAcl acl) |
public static String CACHE_REGION
public SessionCachingMetadataDomainRepository(org.pentaho.metadata.repository.IMetadataDomainRepository delegate)
public org.pentaho.metadata.model.Domain getDomain(String id)
getDomain in interface org.pentaho.metadata.repository.IMetadataDomainRepositorypublic void reloadDomains()
reloadDomains in interface org.pentaho.metadata.repository.IMetadataDomainRepositorypublic void flushDomains()
flushDomains in interface org.pentaho.metadata.repository.IMetadataDomainRepositorypublic void removeDomain(String domainId)
removeDomain in interface org.pentaho.metadata.repository.IMetadataDomainRepositoryremoveDomain in interface IPentahoMetadataDomainRepositoryImporterpublic 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
storeDomain in interface org.pentaho.metadata.repository.IMetadataDomainRepositoryorg.pentaho.metadata.repository.DomainIdNullExceptionorg.pentaho.metadata.repository.DomainAlreadyExistsExceptionorg.pentaho.metadata.repository.DomainStorageExceptionpublic void removeModel(String domainId, String modelId) throws org.pentaho.metadata.repository.DomainIdNullException, org.pentaho.metadata.repository.DomainStorageException
removeModel in interface org.pentaho.metadata.repository.IMetadataDomainRepositoryorg.pentaho.metadata.repository.DomainIdNullExceptionorg.pentaho.metadata.repository.DomainStorageExceptionpublic Set<String> getDomainIds()
getDomainIds in interface org.pentaho.metadata.repository.IMetadataDomainRepositorypublic String generateRowLevelSecurityConstraint(org.pentaho.metadata.model.LogicalModel model)
generateRowLevelSecurityConstraint in interface org.pentaho.metadata.repository.IMetadataDomainRepositorypublic boolean hasAccess(int accessType,
org.pentaho.metadata.model.concept.IConcept aclHolder)
hasAccess in interface org.pentaho.metadata.repository.IMetadataDomainRepositorypublic void onLogout(org.pentaho.platform.api.engine.IPentahoSession session)
onLogout in interface org.pentaho.platform.api.engine.ILogoutListenerpublic Map<String,InputStream> getDomainFilesData(String domainId)
getDomainFilesData in interface IPentahoMetadataDomainRepositoryExporterpublic void storeDomain(InputStream inputStream, String domainId, boolean overwrite, org.pentaho.platform.api.repository2.unified.RepositoryFileAcl acl) throws org.pentaho.metadata.repository.DomainIdNullException, org.pentaho.metadata.repository.DomainAlreadyExistsException, org.pentaho.metadata.repository.DomainStorageException
storeDomain in interface IAclAwarePentahoMetadataDomainRepositoryImporterorg.pentaho.metadata.repository.DomainIdNullExceptionorg.pentaho.metadata.repository.DomainAlreadyExistsExceptionorg.pentaho.metadata.repository.DomainStorageExceptionpublic void setAclFor(String domainId, org.pentaho.platform.api.repository2.unified.RepositoryFileAcl acl)
setAclFor in interface IAclAwarePentahoMetadataDomainRepositoryImporterpublic org.pentaho.platform.api.repository2.unified.RepositoryFileAcl getAclFor(String domainId)
getAclFor in interface IAclAwarePentahoMetadataDomainRepositoryImporterpublic boolean hasAccessFor(String domainId)
hasAccessFor in interface IAclAwarePentahoMetadataDomainRepositoryImporterpublic void storeDomain(InputStream inputStream, String domainId, boolean overwrite) throws org.pentaho.metadata.repository.DomainIdNullException, org.pentaho.metadata.repository.DomainAlreadyExistsException, org.pentaho.metadata.repository.DomainStorageException
storeDomain in interface IPentahoMetadataDomainRepositoryImporterorg.pentaho.metadata.repository.DomainIdNullExceptionorg.pentaho.metadata.repository.DomainAlreadyExistsExceptionorg.pentaho.metadata.repository.DomainStorageExceptionpublic void addLocalizationFile(String domainId, String locale, InputStream inputStream, boolean overwrite) throws org.pentaho.metadata.repository.DomainStorageException
addLocalizationFile in interface IPentahoMetadataDomainRepositoryImporterorg.pentaho.metadata.repository.DomainStorageExceptionpublic String loadAnnotationsXml(String domainId)
loadAnnotationsXml in interface IModelAnnotationsAwareMetadataDomainRepositoryImporterpublic void storeAnnotationsXml(String domainId, String annotationsXml)
storeAnnotationsXml in interface IModelAnnotationsAwareMetadataDomainRepositoryImporter