Class ApplicationConfigProducerRoot

  • All Implemented Interfaces:
    com.yahoo.cloud.config.ApplicationIdConfig.Producer, com.yahoo.cloud.config.ClusterListConfig.Producer, com.yahoo.cloud.config.log.LogdConfig.Producer, com.yahoo.cloud.config.ModelConfig.Producer, com.yahoo.cloud.config.SlobroksConfig.Producer, com.yahoo.cloud.config.ZookeepersConfig.Producer, com.yahoo.config.ConfigInstance.Producer, CommonConfigsProducer, com.yahoo.document.config.DocumentmanagerConfig.Producer, com.yahoo.document.config.DocumenttypesConfig.Producer, com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig.Producer, com.yahoo.documentapi.messagebus.protocol.DocumentrouteselectorpolicyConfig.Producer, com.yahoo.messagebus.MessagebusConfig.Producer, com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig.Producer, com.yahoo.vespa.config.content.DistributionConfig.Producer, com.yahoo.vespa.config.content.LoadTypeConfig.Producer, ConfigProducer, Serializable

    public class ApplicationConfigProducerRoot
    extends AbstractConfigProducer<AbstractConfigProducer<?>>
    implements CommonConfigsProducer
    This is the parent of all ConfigProducers in the system resulting from configuring an application.
    Author:
    gjoranv
    See Also:
    Serialized Form
    • Constructor Detail

      • ApplicationConfigProducerRoot

        public ApplicationConfigProducerRoot​(AbstractConfigProducer parent,
                                             String name,
                                             DocumentModel documentModel,
                                             com.yahoo.component.Version vespaVersion,
                                             com.yahoo.config.provision.ApplicationId applicationId)
        Creates and initializes a new Vespa from the service config file in the given application directory.
        Parameters:
        parent - the parent, usually VespaModel
        name - the name, used as configId
        documentModel - DocumentModel to serve global document config from.
    • Method Detail

      • useFeatureFlags

        public void useFeatureFlags​(com.yahoo.config.model.api.ModelContext.FeatureFlags featureFlags)
      • getConfigIds

        public Set<String> getConfigIds()
        Returns:
        an unmodifiable copy of the set of configIds in this VespaModel.
      • getConfigProducer

        public ConfigProducer getConfigProducer​(String configId)
        Returns the ConfigProducer with the given id, or null if no such configId exists.
        Parameters:
        configId - The configId, e.g. "search.0/tld.0"
        Returns:
        ConfigProducer with the given configId
      • getService

        public Service getService​(String configId)
        Returns the Service with the given id, or null if no such configId exists or if it belongs to a non-Service ConfigProducer.
        Parameters:
        configId - The configId, e.g. "search.0/tld.0"
        Returns:
        Service with the given configId
      • addDescendant

        public void addDescendant​(AbstractConfigProducer descendant)
        Adds the descendant (at any depth level), so it can be looked up on configId in the Map.
        Parameters:
        descendant - The configProducer descendant to add
      • prepare

        public void prepare​(ConfigModelRepo plugins)
        Prepares the model for start. The VespaModel calls this methods after it has loaded this and all plugins have been loaded and their initialize() methods have been called.
        Parameters:
        plugins - All initialized plugins of the vespa model.
      • setupAdmin

        public void setupAdmin​(Admin admin)
      • getConfig

        public void getConfig​(com.yahoo.document.config.DocumentmanagerConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.document.config.DocumentmanagerConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.document.config.DocumenttypesConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.document.config.DocumenttypesConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.documentapi.messagebus.protocol.DocumentrouteselectorpolicyConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.documentapi.messagebus.protocol.DocumentrouteselectorpolicyConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.messagebus.MessagebusConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.messagebus.MessagebusConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.cloud.config.log.LogdConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.cloud.config.log.LogdConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.cloud.config.SlobroksConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.cloud.config.SlobroksConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.cloud.config.ZookeepersConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.cloud.config.ZookeepersConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.LoadTypeConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.LoadTypeConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.cloud.config.ClusterListConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.cloud.config.ClusterListConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.DistributionConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.DistributionConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig.Producer
      • getConfig

        public void getConfig​(com.yahoo.cloud.config.ModelConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.cloud.config.ModelConfig.Producer
      • getPortTags

        public static String getPortTags​(PortsMeta portsMeta,
                                         int portNumber)
      • setHostSystem

        public void setHostSystem​(HostSystem hostSystem)
      • getAdmin

        public Admin getAdmin()
      • getConfig

        public void getConfig​(com.yahoo.cloud.config.ApplicationIdConfig.Builder builder)
        Specified by:
        getConfig in interface com.yahoo.cloud.config.ApplicationIdConfig.Producer