public static String saveOrReturnConfig(PublishedConfiguration published, String format, File destPath, String fileName) throws BadCommandArgumentsException, IOException { ConfigFormat configFormat = ConfigFormat.resolve(format); if (configFormat == null) { throw new BadCommandArgumentsException( "Unknown/Unsupported format %s ", format); } PublishedConfigurationOutputter outputter = PublishedConfigurationOutputter.createOutputter(configFormat, published); boolean print = destPath == null; if (!print) { if (destPath.isDirectory()) { // creating it under a directory destPath = new File(destPath, fileName); } outputter.save(destPath); return null; } else { return outputter.asString(); } } }
public static String saveOrReturnConfig(PublishedConfiguration published, String format, File destPath, String fileName) throws BadCommandArgumentsException, IOException { ConfigFormat configFormat = ConfigFormat.resolve(format); if (configFormat == null) { throw new BadCommandArgumentsException( "Unknown/Unsupported format %s ", format); } PublishedConfigurationOutputter outputter = PublishedConfigurationOutputter.createOutputter(configFormat, published); boolean print = destPath == null; if (!print) { if (destPath.isDirectory()) { // creating it under a directory destPath = new File(destPath, fileName); } outputter.save(destPath); return null; } else { return outputter.asString(); } } }
private synchronized void createConfigFile(SliderFileSystem fileSystem, File file, ConfigFile configFile, Map<String, String> config) throws IOException { ConfigFormat configFormat = ConfigFormat.resolve(configFile.getType()); if (file.exists()) { log.info("Skipping writing {} file {} because it already exists", configFormat, file); return; } log.info("Writing {} file {}", configFormat, file); ConfigUtils.prepConfigForTemplateOutputter(configFormat, config, fileSystem, getClusterName(), file.getName()); PublishedConfiguration publishedConfiguration = new PublishedConfiguration(configFile.getDictionaryName(), config.entrySet()); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(configFormat, publishedConfiguration); configurationOutputter.save(file); }
private synchronized void createConfigFile(SliderFileSystem fileSystem, File file, ConfigFile configFile, Map<String, String> config) throws IOException { ConfigFormat configFormat = ConfigFormat.resolve(configFile.getType()); if (file.exists()) { log.info("Skipping writing {} file {} because it already exists", configFormat, file); return; } log.info("Writing {} file {}", configFormat, file); ConfigUtils.prepConfigForTemplateOutputter(configFormat, config, fileSystem, getClusterName(), file.getName()); PublishedConfiguration publishedConfiguration = new PublishedConfiguration(configFile.getDictionaryName(), config.entrySet()); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(configFormat, publishedConfiguration); configurationOutputter.save(file); }
@Test public void testJson() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.JSON, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert "{\"key1\":\"val1\"}".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); ObjectMapper mapper = new ObjectMapper(); Map<String, String> read = mapper.readValue(file, Map.class); assert 1 == read.size(); assert "val1".equals(read.get("key1")); }
@Test public void testEnv() throws IOException { HashMap<String, String> envConfig = new HashMap<>(config); envConfig.put("content", "content {{key1}} "); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.ENV, new PublishedConfiguration("description", envConfig.entrySet())); String output = configurationOutputter.asString(); assert "content val1 ".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); assert "content val1 ".equals(FileUtils.readFileToString(file, Charsets.UTF_8)); }
@Test public void testHadoopXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.HADOOP_XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains("<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testJson() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.JSON, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert "{\"key1\":\"val1\"}".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); ObjectMapper mapper = new ObjectMapper(); Map<String, String> read = mapper.readValue(file, Map.class); assert 1 == read.size(); assert "val1".equals(read.get("key1")); }
@Test public void testHadoopXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.HADOOP_XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains("<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testProperties() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.PROPERTIES, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString(); assert output.contains("key1=val1"); File file = tmpDir.newFile(); configurationOutputter.save(file); Properties properties = new Properties(); FileInputStream fis = null; try { fis = new FileInputStream(file); properties.load(fis); } finally { if (fis != null) { fis.close(); } } assert 1 == properties.size(); assert "val1".equals(properties.getProperty("key1")); }
@Test public void testEnv() throws IOException { HashMap<String, String> envConfig = new HashMap<>(config); envConfig.put("content", "content {{key1}} "); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.ENV, new PublishedConfiguration("description", envConfig.entrySet())); String output = configurationOutputter.asString(); assert "content val1 ".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); assert "content val1 ".equals(FileUtils.readFileToString(file, Charsets.UTF_8)); }
@Test public void testXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testYaml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.YAML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("(\\r|\\n)", ""); assert "key1: val1".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); Yaml yaml = new Yaml(); FileInputStream fis = null; Map<String, String> read; try { fis = new FileInputStream(file); read = (Map<String, String>) yaml.load(fis); } finally { if (fis != null) { fis.close(); } } assert 1 == read.size(); assert "val1".equals(read.get("key1")); }
@Test public void testProperties() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.PROPERTIES, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString(); assert output.contains("key1=val1"); File file = tmpDir.newFile(); configurationOutputter.save(file); Properties properties = new Properties(); FileInputStream fis = null; try { fis = new FileInputStream(file); properties.load(fis); } finally { if (fis != null) { fis.close(); } } assert 1 == properties.size(); assert "val1".equals(properties.getProperty("key1")); }
@Test public void testYaml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.YAML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("(\\r|\\n)", ""); assert "key1: val1".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); Yaml yaml = new Yaml(); FileInputStream fis = null; Map<String, String> read; try { fis = new FileInputStream(file); read = (Map<String, String>) yaml.load(fis); } finally { if (fis != null) { fis.close(); } } assert 1 == read.size(); assert "val1".equals(read.get("key1")); }
configurationOutputter.save(file);
configurationOutputter.save(file);