Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 85c6e2e9f -> 89b6d789c


[KARAF-2992] Generate the shutdown command at first boot


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/89b6d789
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/89b6d789
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/89b6d789

Branch: refs/heads/karaf-2.x
Commit: 89b6d789cf7c96a53f91aaa35e092096c849540d
Parents: 85c6e2e
Author: Guillaume Nodet <gno...@gmail.com>
Authored: Tue May 20 15:18:11 2014 +0200
Committer: Guillaume Nodet <gno...@gmail.com>
Committed: Tue May 20 15:28:42 2014 +0200

----------------------------------------------------------------------
 main/src/main/java/org/apache/karaf/main/Main.java | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/89b6d789/main/src/main/java/org/apache/karaf/main/Main.java
----------------------------------------------------------------------
diff --git a/main/src/main/java/org/apache/karaf/main/Main.java 
b/main/src/main/java/org/apache/karaf/main/Main.java
index 359dcfd..59b89a4 100644
--- a/main/src/main/java/org/apache/karaf/main/Main.java
+++ b/main/src/main/java/org/apache/karaf/main/Main.java
@@ -34,6 +34,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -60,6 +61,7 @@ import java.util.Properties;
 import java.util.Random;
 import java.util.StringTokenizer;
 import java.util.TreeMap;
+import java.util.UUID;
 import java.util.jar.Manifest;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -1506,7 +1508,18 @@ public class Main {
             int port = Integer.parseInt(props.getProperty(KARAF_SHUTDOWN_PORT, 
"0"));
             String host = props.getProperty(KARAF_SHUTDOWN_HOST, "localhost");
             String portFile = props.getProperty(KARAF_SHUTDOWN_PORT_FILE);
-            final String shutdown = props.getProperty(KARAF_SHUTDOWN_COMMAND, 
DEFAULT_SHUTDOWN_COMMAND);
+            String shutdown = props.getProperty(KARAF_SHUTDOWN_COMMAND);
+            if (shutdown == null) {
+                shutdown = UUID.randomUUID().toString();
+                File file = new File(karafEtc, CONFIG_PROPERTIES_FILE_NAME);
+                Writer writer = new FileWriter(file, true);
+                try {
+                    writer.write("\n#\n# Generated command shutdown\n,#\n"
+                            + KARAF_SHUTDOWN_COMMAND + " = " + shutdown + 
"\n");
+                } finally {
+                    writer.close();
+                }
+            }
             if (port >= 0) {
                 shutdownSocket = new ServerSocket(port, 1, 
InetAddress.getByName(host));
                 if (port == 0) {

Reply via email to