summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-06-15 14:56:55 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-06-15 15:41:37 +0200
commit44638b48e119a558deafb8e7a556845af4120f2f (patch)
tree95a21e08b29427aa070f79119f8b859b11d3b4a4 /config-model
parentc483f99e61db99228262b72734a0417058dea208 (diff)
Fail on unknown file
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index 9fda25bcb00..adf805a9d10 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -530,14 +530,17 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
.flatMap(Arrays::stream)
.toList();
- List<X509Certificate> x509Certificates = XML.getChildren(clientElement, "certificate").stream()
- .map(certElem -> Path.fromString(certElem.getAttribute("file")))
- .map(path -> app.getFile(path))
- .filter(ApplicationFile::exists)
- .map(this::getCertificates)
- .flatMap(Collection::stream)
+ var certificates = XML.getChildren(clientElement, "certificate").stream()
+ .flatMap(certElem -> {
+ var file = app.getFile(Path.fromString(certElem.getAttribute("file")));
+ if (!file.exists()) {
+ throw new IllegalArgumentException("Certificate file '%s' for client '%s' does not exist"
+ .formatted(file.getPath().getRelative(), id));
+ }
+ return getCertificates(file).stream();
+ })
.toList();
- return new Client(id, permissions, x509Certificates);
+ return new Client(id, permissions, certificates);
}
private List<X509Certificate> getCertificates(ApplicationFile file) {