diff options
author | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-12-21 22:10:07 +0400 |
---|---|---|
committer | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-12-21 22:25:04 +0400 |
commit | 79e09a2f6348baa1a226d63af95e5c77cd05db03 (patch) | |
tree | 86c76481aca964ba25cc65dd4353418db04f4a41 /sonar-application | |
parent | d34190653034aa5a4587e9046244747f27482cb5 (diff) | |
download | sonarqube-79e09a2f6348baa1a226d63af95e5c77cd05db03.tar.gz sonarqube-79e09a2f6348baa1a226d63af95e5c77cd05db03.zip |
SONAR-2660 Check that temporary directory is available for creation of a new files
Diffstat (limited to 'sonar-application')
-rw-r--r-- | sonar-application/src/main/java/org/sonar/application/StartServer.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sonar-application/src/main/java/org/sonar/application/StartServer.java b/sonar-application/src/main/java/org/sonar/application/StartServer.java index 1af81c86d0e..eef404e5bac 100644 --- a/sonar-application/src/main/java/org/sonar/application/StartServer.java +++ b/sonar-application/src/main/java/org/sonar/application/StartServer.java @@ -24,6 +24,8 @@ import java.io.IOException; import java.net.URISyntaxException; import java.util.Properties; +import org.apache.commons.io.FileUtils; + public final class StartServer { private static final String DEFAULT_WEB_HOST = "0.0.0.0"; private static final int DEFAULT_WEB_PORT = 9000; @@ -34,6 +36,7 @@ public final class StartServer { } public static void main(String[] args) throws Exception { + canCreateTemporaryFiles(); configureHome(); Properties configuration = getConfiguration(); @@ -48,6 +51,17 @@ public final class StartServer { Thread.currentThread().join(); } + static void canCreateTemporaryFiles() { + File file = null; + try { + file = File.createTempFile("sonar-check", "tmp"); + } catch (IOException e) { + throw new IllegalStateException("Unable to create file in temporary directory, please check existence of it and permissions: " + FileUtils.getTempDirectoryPath(), e); + } finally { + FileUtils.deleteQuietly(file); + } + } + private static void configureRequestLogs(JettyEmbedder jetty, Properties configuration) { String filenamePattern = configuration.getProperty("sonar.web.jettyRequestLogs"); if (filenamePattern != null) { |