summaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-03-01 11:58:09 +0100
committerJon Bratseth <bratseth@gmail.com>2023-03-01 11:58:09 +0100
commitaac4ee4d7fa305cdbda4ab82db7f9dc45aa9f090 (patch)
tree72f1f8437a53ad7330d6d61e05f5e17b3352044e /config-application-package
parent42f5944056ed2b9d46b1b5538cbcccf0b369ca44 (diff)
Pass ClusterInfo
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java15
-rw-r--r--config-application-package/src/test/java/com/yahoo/config/application/HostedOverrideProcessorComplexTest.java5
-rw-r--r--config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java2
3 files changed, 14 insertions, 8 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
index 5707206019f..f5ad1dce4e7 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
@@ -106,6 +106,8 @@ public class FilesApplicationPackage extends AbstractApplicationPackage {
private final boolean includeSourceFiles;
private final TransformerFactory transformerFactory;
+ private DeploymentSpec deploymentSpec = null;
+
/** Creates from a directory with source files included */
public static FilesApplicationPackage fromFile(File appDir) {
return fromFile(appDir, false);
@@ -580,6 +582,12 @@ public class FilesApplicationPackage extends AbstractApplicationPackage {
IOUtils.writeFile(metaFile, metaData.asJsonBytes());
}
+ @Override
+ public DeploymentSpec getDeploymentSpec() {
+ if (deploymentSpec != null) return deploymentSpec;
+ return deploymentSpec = parseDeploymentSpec(false);
+ }
+
private void preprocessXML(File destination, File inputXml, Zone zone) throws IOException {
if ( ! inputXml.exists()) return;
try {
@@ -589,10 +597,9 @@ public class FilesApplicationPackage extends AbstractApplicationPackage {
instance,
zone.environment(),
zone.region(),
- getDeployment().map(new DeploymentSpecXmlReader(false)::read)
- .flatMap(spec -> spec.instance(instance))
- .map(DeploymentInstanceSpec::tags)
- .orElse(Tags.empty()))
+ getDeploymentSpec().instance(instance)
+ .map(DeploymentInstanceSpec::tags)
+ .orElse(Tags.empty()))
.run();
try (FileOutputStream outputStream = new FileOutputStream(destination)) {
diff --git a/config-application-package/src/test/java/com/yahoo/config/application/HostedOverrideProcessorComplexTest.java b/config-application-package/src/test/java/com/yahoo/config/application/HostedOverrideProcessorComplexTest.java
index 93e038c786a..19f1414cd10 100644
--- a/config-application-package/src/test/java/com/yahoo/config/application/HostedOverrideProcessorComplexTest.java
+++ b/config-application-package/src/test/java/com/yahoo/config/application/HostedOverrideProcessorComplexTest.java
@@ -110,10 +110,7 @@ public class HostedOverrideProcessorComplexTest {
private void assertOverride(InstanceName instance, Environment environment, RegionName region, String expected) throws TransformerException {
ApplicationPackage app = FilesApplicationPackage.fromFile(new File(servicesFile).getParentFile());
Document inputDoc = Xml.getDocument(app.getServices());
- Tags tags = app.getDeployment()
- .map(new DeploymentSpecXmlReader(false)::read)
- .flatMap(spec -> spec.instance(instance).map(DeploymentInstanceSpec::tags))
- .orElse(Tags.empty());
+ Tags tags = app.getDeploymentSpec().instance(instance).map(DeploymentInstanceSpec::tags).orElse(Tags.empty());
Document newDoc = new OverrideProcessor(instance, environment, region, tags).process(inputDoc);
assertEquals(expected, Xml.documentAsString(newDoc, true));
}
diff --git a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java b/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java
index 6c83b2029ad..4742d275918 100644
--- a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java
+++ b/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java
@@ -84,6 +84,7 @@ public class FilesApplicationPackageTest {
assertFalse(new File(appDir, "deployment.xml").exists());
FilesApplicationPackage app = FilesApplicationPackage.fromFile(appDir);
assertFalse(app.getDeployment().isPresent());
+ assertTrue(app.getDeploymentSpec().isEmpty());
}
@Test
@@ -93,6 +94,7 @@ public class FilesApplicationPackageTest {
assertTrue(deployment.exists());
FilesApplicationPackage app = FilesApplicationPackage.fromFile(appDir);
assertTrue(app.getDeployment().isPresent());
+ assertFalse(app.getDeploymentSpec().isEmpty());
assertFalse(app.getMajorVersion().isPresent());
assertEquals(IOUtils.readAll(app.getDeployment().get()), IOUtils.readAll(new FileReader(deployment)));
}