From 29fd98879d68df31fdb98ef03fbb205a5c897e91 Mon Sep 17 00:00:00 2001 From: zml2008 Date: Tue, 24 Jan 2012 15:21:44 -0800 Subject: [PATCH] Improved formatting and performance of YAMLProcessor when no comments are present --- .../com/sk89q/util/yaml/YAMLProcessor.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java b/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java index 021175ba2..aac8132ba 100644 --- a/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java +++ b/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java @@ -183,20 +183,24 @@ public class YAMLProcessor extends YAMLNode { writer.append(header); writer.append(LINE_BREAK); } - // Iterate over each root-level property and dump - for (Iterator> i = root.entrySet().iterator(); i.hasNext();) { - Map.Entry entry = i.next(); + if (comments.size() == 0) { + yaml.dump(root, writer); + } else { + // Iterate over each root-level property and dump + for (Iterator> i = root.entrySet().iterator(); i.hasNext(); ) { + Map.Entry entry = i.next(); - // Output comment, if present - String comment = comments.get(entry.getKey()); - if (comment != null) { - writer.append(LINE_BREAK); - writer.append(comment); - writer.append(LINE_BREAK); + // Output comment, if present + String comment = comments.get(entry.getKey()); + if (comment != null) { + writer.append(LINE_BREAK); + writer.append(comment); + writer.append(LINE_BREAK); + } + + // Dump property + yaml.dump(Collections.singletonMap(entry.getKey(), entry.getValue()), writer); } - - // Dump property - yaml.dump(Collections.singletonMap(entry.getKey(), entry.getValue()), writer); } return true; } catch (IOException e) {