diff options
Diffstat (limited to 'configgen/src')
-rw-r--r-- | configgen/src/main/java/com/yahoo/config/codegen/MakeConfigProperties.java | 32 | ||||
-rw-r--r-- | configgen/src/test/java/com/yahoo/config/codegen/MakeConfigTest.java | 6 |
2 files changed, 21 insertions, 17 deletions
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/MakeConfigProperties.java b/configgen/src/main/java/com/yahoo/config/codegen/MakeConfigProperties.java index da746bf3a01..7fb587ecce8 100644 --- a/configgen/src/main/java/com/yahoo/config/codegen/MakeConfigProperties.java +++ b/configgen/src/main/java/com/yahoo/config/codegen/MakeConfigProperties.java @@ -2,9 +2,14 @@ package com.yahoo.config.codegen; import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.StringTokenizer; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * Encapsulates data extracted from system properties. @@ -14,10 +19,10 @@ import java.util.StringTokenizer; @SuppressWarnings("WeakerAccess") // Used by ConfigGenMojo public class MakeConfigProperties { - private static final List<String> legalLanguages = Arrays.asList("java", "cpp" ); + private static final List<String> legalLanguages = List.of("java", "cpp" ); final File destDir; - final File[] specFiles; + final List<File> specFiles; final String language; final String dirInRoot; // Where within fileroot to store generated class files final String javaPackagePrefix; @@ -81,20 +86,19 @@ public class MakeConfigProperties { return inputLang; } - private static File[] checkSpecificationFiles(String spec) throws PropertyException { - if (spec == null) - throw new PropertyException("Missing property: config.spec."); + private static List<File> checkSpecificationFiles(String spec) throws PropertyException { + if (spec == null || spec.isEmpty()) + throw new PropertyException("Missing property: config.spec"); - StringTokenizer st = new StringTokenizer(spec, ","); - if (st.countTokens() == 0) - throw new PropertyException("Missing property: config.spec."); - - File[] files = new File[st.countTokens()]; - for (int i = 0; st.hasMoreElements(); i++) { - files[i] = new File((String) st.nextElement()); - if (!files[i].isFile()) - throw new PropertyException("Could not read file " + files[i].getPath()); + var files = new ArrayList<File>(); + for (String token : spec.split(",", -1)) { + File file = new File(token); + if (!file.isFile()) { + throw new PropertyException("Could not read file " + file); + } + files.add(file); } + return files; } diff --git a/configgen/src/test/java/com/yahoo/config/codegen/MakeConfigTest.java b/configgen/src/test/java/com/yahoo/config/codegen/MakeConfigTest.java index 2a2b65e97a7..793986e1ae1 100644 --- a/configgen/src/test/java/com/yahoo/config/codegen/MakeConfigTest.java +++ b/configgen/src/test/java/com/yahoo/config/codegen/MakeConfigTest.java @@ -51,8 +51,8 @@ public class MakeConfigTest { assertEquals(p.destDir.getAbsolutePath(), dest.getAbsolutePath()); assertTrue(p.dumpTree); assertTrue(p.generateFrameworkCode); - assertEquals(p.specFiles.length, 1); - assertEquals(p.specFiles[0].getAbsolutePath(), new File("src/test/resources/configgen.allfeatures.def").getAbsolutePath()); + assertEquals(p.specFiles.size(), 1); + assertEquals(p.specFiles.get(0).getAbsolutePath(), new File("src/test/resources/configgen.allfeatures.def").getAbsolutePath()); System.setProperty("config.dumpTree", "false"); System.setProperty("config.useFramework", "false"); @@ -62,7 +62,7 @@ public class MakeConfigTest { assertEquals(p.destDir.getAbsolutePath(), dest.getAbsolutePath()); assertFalse(p.dumpTree); assertFalse(p.generateFrameworkCode); - assertEquals(p.specFiles.length, 2); + assertEquals(p.specFiles.size(), 2); } @Test |