diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2018-04-24 09:59:10 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2018-04-24 09:59:10 +0200 |
commit | 5421892d9729da6702ead9fbe2f672338d8f7108 (patch) | |
tree | f0c5f66ec830628d9649b1ada3b626b0355041b8 | |
parent | ec430a6f6767e7ce0fd3459d43b4fdf2b40279d7 (diff) |
Log when diff too large
2 files changed, 10 insertions, 19 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/FilterTableLineEditor.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/FilterTableLineEditor.java index a8e0c64f4e1..4e5906d3c34 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/FilterTableLineEditor.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/FilterTableLineEditor.java @@ -5,8 +5,8 @@ import com.yahoo.vespa.hosted.node.admin.task.util.file.LineEdit; import com.yahoo.vespa.hosted.node.admin.task.util.file.LineEditor; import com.yahoo.vespa.hosted.node.admin.task.util.network.IPVersion; -import java.util.ArrayList; import java.util.Arrays; +import java.util.LinkedList; import java.util.List; /** @@ -14,11 +14,10 @@ import java.util.List; */ class FilterTableLineEditor implements LineEditor { - private final List<String> wantedRules; - private boolean removeRemaining = false; + private final LinkedList<String> wantedRules; FilterTableLineEditor(List<String> wantedRules) { - this.wantedRules = new ArrayList<>(wantedRules); + this.wantedRules = new LinkedList<>(wantedRules); } static FilterTableLineEditor from(Acl acl, IPVersion ipVersion) { @@ -28,16 +27,8 @@ class FilterTableLineEditor implements LineEditor { @Override public LineEdit edit(String line) { - if (removeRemaining) { - return LineEdit.remove(); - } - if (wantedRules.indexOf(line) == 0) { - wantedRules.remove(line); - return LineEdit.none(); - } else { - removeRemaining = true; - return LineEdit.remove(); - } + String wantedRule = wantedRules.pop(); + return wantedRule.equals(line) ? LineEdit.none() : LineEdit.replaceWith(wantedRule); } @Override diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java index 9f5557e5940..3cb7bc68059 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java @@ -7,7 +7,7 @@ import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; import java.util.function.Consumer; import java.util.function.Supplier; @@ -24,7 +24,7 @@ public class Editor { private static final Logger logger = Logger.getLogger(Editor.class.getName()); private static final Charset ENCODING = StandardCharsets.UTF_8; - private static int maxLength = 300; + private static final int MAX_LENGTH = 300; private final Supplier<List<String>> supplier; private final Consumer<List<String>> consumer; @@ -60,7 +60,7 @@ public class Editor { public boolean edit(Consumer<String> logConsumer) { List<String> lines = supplier.get(); - List<String> newLines = new ArrayList<>(); + List<String> newLines = new LinkedList<>(); StringBuilder diff = new StringBuilder(); boolean modified = false; @@ -102,7 +102,7 @@ public class Editor { return false; } - String diffDescription = diffTooLarge(diff) ? "" : ":\n" + diff.toString(); + String diffDescription = diffTooLarge(diff) ? ": Diff too large" : ":\n" + diff.toString(); logConsumer.accept("Patching file " + name + diffDescription); consumer.accept(newLines); return true; @@ -127,6 +127,6 @@ public class Editor { } private static boolean diffTooLarge(StringBuilder diff) { - return diff.length() > maxLength; + return diff.length() > MAX_LENGTH; } } |