summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-10-03 12:45:34 +0200
committerHarald Musum <musum@oath.com>2018-10-03 12:45:34 +0200
commit539f5ecb83c1ce2a1c642adcb8bb3c2c4c9196e0 (patch)
treee1cd2789f335436496e16b2613280e5e0e2bdd6c /config-model
parent172c40ba07b4a2ae7e200edad5c3044f98086e1c (diff)
Avoid keeping DeployState alive longer than necessary
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
index 37380b8e5be..1e41fc70104 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
@@ -3,12 +3,15 @@ package com.yahoo.vespa.model.builder.xml.dom;
import com.yahoo.config.model.*;
import com.yahoo.config.application.api.ApplicationPackage;
+import com.yahoo.config.model.api.HostProvisioner;
+import com.yahoo.config.model.deploy.DeployProperties;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.builder.xml.XmlHelper;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.config.model.producer.UserConfigRepo;
import com.yahoo.log.LogLevel;
import com.yahoo.text.XML;
+import com.yahoo.vespa.documentmodel.DocumentModel;
import com.yahoo.vespa.model.*;
import com.yahoo.vespa.model.builder.UserConfigBuilder;
import com.yahoo.vespa.model.builder.VespaModelBuilder;
@@ -214,21 +217,28 @@ public class VespaDomBuilder extends VespaModelBuilder {
public static class DomRootBuilder extends VespaDomBuilder.DomConfigProducerBuilder<ApplicationConfigProducerRoot> {
private final String name;
- private final DeployState deployState;
+ private final DeployProperties deployProperties;
+ private final DocumentModel documentModel;
+ private final HostProvisioner provisioner;
/**
* @param name The name of the Vespa to create. Usually 'root' when there is only one.
*/
public DomRootBuilder(String name, DeployState deployState) {
this.name = name;
- this.deployState = deployState;
+ this.deployProperties = deployState.getProperties();
+ this.documentModel = deployState.getDocumentModel();
+ this.provisioner = deployState.getProvisioner();
}
@Override
protected ApplicationConfigProducerRoot doBuild(AbstractConfigProducer parent, Element producerSpec) {
- ApplicationConfigProducerRoot root = new ApplicationConfigProducerRoot(parent, name,
- deployState.getDocumentModel(), deployState.getProperties().vespaVersion(), deployState.getProperties().applicationId());
- root.setHostSystem(new HostSystem(root, "hosts", deployState.getProvisioner()));
+ ApplicationConfigProducerRoot root = new ApplicationConfigProducerRoot(parent,
+ name,
+ documentModel,
+ deployProperties.vespaVersion(),
+ deployProperties.applicationId());
+ root.setHostSystem(new HostSystem(root, "hosts", provisioner));
new Client(root);
return root;
}