Class CachingPentahoMetadataDomainRepository

    • Constructor Detail

      • CachingPentahoMetadataDomainRepository

        public CachingPentahoMetadataDomainRepository​(org.pentaho.platform.api.repository2.unified.IUnifiedRepository repository)
        Parameters:
        repository -
      • CachingPentahoMetadataDomainRepository

        public CachingPentahoMetadataDomainRepository​(org.pentaho.platform.api.repository2.unified.IUnifiedRepository repository,
                                                      org.pentaho.platform.repository2.unified.RepositoryUtils repositoryUtils,
                                                      org.pentaho.metadata.util.XmiParser xmiParser,
                                                      org.pentaho.metadata.util.LocalizationUtil localizationUtil)
        Parameters:
        repository -
        repositoryUtils -
        xmiParser -
        localizationUtil -
    • Method Detail

      • 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
        Store a domain to the repository. The domain should persist between JVM restarts.
        Specified by:
        storeDomain in interface org.pentaho.metadata.repository.IMetadataDomainRepository
        Overrides:
        storeDomain in class PentahoMetadataDomainRepository
        Parameters:
        domain - domain object to store
        overwrite - if true, overwrite existing domain
        Throws:
        org.pentaho.metadata.repository.DomainIdNullException - if domain id is null
        org.pentaho.metadata.repository.DomainAlreadyExistsException - if domain exists and overwrite = false
        org.pentaho.metadata.repository.DomainStorageException - if there is a problem storing the domain
      • getDomain

        public org.pentaho.metadata.model.Domain getDomain​(String domainId)
        retrieve a domain from the repo. This does lazy loading of the repo, so it calls reloadDomains() if not already loaded.
        Specified by:
        getDomain in interface org.pentaho.metadata.repository.IMetadataDomainRepository
        Overrides:
        getDomain in class PentahoMetadataDomainRepository
        Parameters:
        domainId - domain to get from the repository
        Returns:
        domain object
      • getDomainIds

        public Set<String> getDomainIds()
        Returns a list of all the domain ids in the repository.
        Specified by:
        getDomainIds in interface org.pentaho.metadata.repository.IMetadataDomainRepository
        Overrides:
        getDomainIds in class PentahoMetadataDomainRepository
        Returns:
        the domain Ids.
      • reloadDomains

        public void reloadDomains()
        reload domains from disk
        Specified by:
        reloadDomains in interface org.pentaho.metadata.repository.IMetadataDomainRepository
        Overrides:
        reloadDomains in class PentahoMetadataDomainRepository
      • flushDomains

        public void flushDomains()
        flush the domains from memory
        Specified by:
        flushDomains in interface org.pentaho.metadata.repository.IMetadataDomainRepository
        Overrides:
        flushDomains in class PentahoMetadataDomainRepository