aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-application
diff options
context:
space:
mode:
authorEvgeny Mandrikov <mandrikov@gmail.com>2011-12-21 22:10:07 +0400
committerEvgeny Mandrikov <mandrikov@gmail.com>2011-12-21 22:25:04 +0400
commit79e09a2f6348baa1a226d63af95e5c77cd05db03 (patch)
tree86c76481aca964ba25cc65dd4353418db04f4a41 /sonar-application
parentd34190653034aa5a4587e9046244747f27482cb5 (diff)
downloadsonarqube-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.java14
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) {