diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-08-05 17:24:29 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-08-05 17:24:32 +0200 |
commit | 4882c6c886c7d6a78e6d3a381619de82e5d32e33 (patch) | |
tree | f139a96377fb3e28027fbfe21ac9b3d5b27b1cf8 /node-admin | |
parent | b4ae9b9a122ab0e9d625eef3fd3b426059fd4175 (diff) |
Misc changes
- Move to parent package
- Use Exceptions.uncheck()
- Write changes atomically
Diffstat (limited to 'node-admin')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvRewriter.java (renamed from node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/env/DefaultEnvRewriter.java) | 15 | ||||
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/env/package-info.java | 8 | ||||
-rw-r--r-- | node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvRewriterTest.java (renamed from node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/env/DefaultEnvRewriterTest.java) | 2 |
3 files changed, 11 insertions, 14 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/env/DefaultEnvRewriter.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvRewriter.java index 7a6c5d23bc1..8bfaec3abf3 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/env/DefaultEnvRewriter.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvRewriter.java @@ -1,9 +1,9 @@ // Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.node.admin.task.util.env; +package com.yahoo.vespa.hosted.node.admin.task.util; -import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -11,6 +11,9 @@ import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; +import static com.yahoo.yolean.Exceptions.uncheck; +import static java.nio.file.StandardCopyOption.ATOMIC_MOVE; + /** * Rewrites default-env.txt files. * @@ -45,8 +48,8 @@ public class DefaultEnvRewriter { return this; } - public boolean converge() throws IOException { - List<String> defaultEnvLines = Files.readAllLines(defaultEnvFile); + public boolean converge() { + List<String> defaultEnvLines = uncheck(() -> Files.readAllLines(defaultEnvFile)); List<String> newDefaultEnvLines = new ArrayList<>(); Set<String> seenNames = new TreeSet<>(); for (String line : defaultEnvLines) { @@ -73,7 +76,9 @@ public class DefaultEnvRewriter { if (defaultEnvLines.equals(newDefaultEnvLines)) { return false; } else { - Files.write(defaultEnvFile, newDefaultEnvLines); + Path tempFile = Paths.get(defaultEnvFile.toString() + ".tmp"); + uncheck(() -> Files.write(tempFile, newDefaultEnvLines)); + uncheck(() -> Files.move(tempFile, defaultEnvFile, ATOMIC_MOVE)); return true; } } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/env/package-info.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/env/package-info.java deleted file mode 100644 index cd42fbed899..00000000000 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/env/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -/** - * @author bjorncs - */ -@ExportPackage -package com.yahoo.vespa.hosted.node.admin.task.util.env; - -import com.yahoo.osgi.annotation.ExportPackage;
\ No newline at end of file diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/env/DefaultEnvRewriterTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvRewriterTest.java index 2f24af37b71..7b8ece2c6c2 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/env/DefaultEnvRewriterTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/DefaultEnvRewriterTest.java @@ -1,5 +1,5 @@ // Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.node.admin.task.util.env; +package com.yahoo.vespa.hosted.node.admin.task.util; import org.junit.Rule; import org.junit.Test; |