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); }
/** * Save the content. The default saves the asString() value * to the output stream * @param out output stream * @throws IOException */ public void save(OutputStream out) throws IOException { IOUtils.write(asString(), out, Charsets.UTF_8); } /**
/** * Create an outputter for a given format * @param format format to use * @return an instance of output */ public PublishedConfigurationOutputter createOutputter(ConfigFormat format) { return PublishedConfigurationOutputter.createOutputter(format, this); } }
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); }
/** * Save the content. The default saves the asString() value * to the output stream * @param out output stream * @throws IOException */ public void save(OutputStream out) throws IOException { IOUtils.write(asString(), out, Charsets.UTF_8); } /**
/** * Create an outputter for a given format * @param format format to use * @return an instance of output */ public PublishedConfigurationOutputter createOutputter(ConfigFormat format) { return PublishedConfigurationOutputter.createOutputter(format, this); } }
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(); } } }
/** * Save the config to a destination file, in the format of this outputter * @param dest destination file * @throws IOException */ /* JDK7 public void save(File dest) throws IOException { try(FileOutputStream out = new FileOutputStream(dest)) { save(out); out.close(); } } */ public void save(File dest) throws IOException { FileUtils.writeStringToFile(dest, asString(), Charsets.UTF_8); }
@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)); }
/** * Save the config to a destination file, in the format of this outputter * @param dest destination file * @throws IOException */ /* JDK7 public void save(File dest) throws IOException { try(FileOutputStream out = new FileOutputStream(dest)) { save(out); out.close(); } } */ public void save(File dest) throws IOException { FileUtils.writeStringToFile(dest, asString(), Charsets.UTF_8); }
@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")); }
public String getStringRepresentation(String setname, String config, UriInfo uriInfo, HttpServletResponse res, ConfigFormat format) throws IOException { // delegate (including init) PublishedConfiguration publishedConfig = getConfigurationInstance(setname, config, uriInfo, res); PublishedConfigurationOutputter outputter = publishedConfig.createOutputter(format); return outputter.asString(); }
@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>"); }
public String getStringRepresentation(String setname, String config, UriInfo uriInfo, HttpServletResponse res, ConfigFormat format) throws IOException { // delegate (including init) PublishedConfiguration publishedConfig = getConfigurationInstance(setname, config, uriInfo, res); PublishedConfigurationOutputter outputter = publishedConfig.createOutputter(format); return outputter.asString(); }
@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 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 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 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>"); }