summaryrefslogtreecommitdiffstats
path: root/config-application-package/src/main/java
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-01-06 13:18:34 +0100
committerHarald Musum <musum@verizonmedia.com>2021-01-06 13:18:34 +0100
commit4a46bed162bad77baaf955cfc3eb3f6b0ed1d4b2 (patch)
treec5063e2a05d3b03640e1e1854eff141890053672 /config-application-package/src/main/java
parent12b1ce99916dab082504479c82993562ca5d0c80 (diff)
Throw exception if services.xml is empty
Diffstat (limited to 'config-application-package/src/main/java')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java10
1 files changed, 9 insertions, 1 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 ffc975d8668..341e22ce312 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
@@ -616,13 +616,21 @@ public class FilesApplicationPackage implements ApplicationPackage {
! name.equals(SERVICES) &&
! name.equals(HOSTS) &&
! name.equals(CONFIG_DEFINITIONS_DIR));
- preprocessXML(new File(preprocessedDir, SERVICES), getServicesFile(), zone);
+ File servicesFile = validateServicesFile();
+ preprocessXML(new File(preprocessedDir, SERVICES), servicesFile, zone);
preprocessXML(new File(preprocessedDir, HOSTS), getHostsFile(), zone);
FilesApplicationPackage preprocessed = FilesApplicationPackage.fromFile(preprocessedDir, includeSourceFiles);
preprocessed.copyUserDefsIntoApplication();
return preprocessed;
}
+ private File validateServicesFile() throws IOException {
+ File servicesFile = getServicesFile();
+ if ( ! servicesFile.exists() || IOUtils.readFile(servicesFile).isEmpty())
+ throw new IllegalArgumentException(SERVICES + " in application package is empty");
+ return servicesFile;
+ }
+
private void copyUserDefsIntoApplication() {
File destination = appSubDirs.configDefs();
destination.mkdir();