[jbosstools-commits] JBoss Tools SVN: r39637 - trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Mon Mar 19 16:08:12 EDT 2012
Author: jpeterka
Date: 2012-03-19 16:08:11 -0400 (Mon, 19 Mar 2012)
New Revision: 39637
Modified:
trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/DatabaseHelper.java
Log:
DatabaseHelper portAvailable method added
Modified: trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/DatabaseHelper.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/DatabaseHelper.java 2012-03-19 20:06:49 UTC (rev 39636)
+++ trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/DatabaseHelper.java 2012-03-19 20:08:11 UTC (rev 39637)
@@ -8,6 +8,8 @@
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.net.DatagramSocket;
+import java.net.ServerSocket;
import java.nio.channels.FileChannel;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -349,6 +351,14 @@
* @param dbname - database name
*/
public static void startHSQLDBServer(final String dbFilePath, final String dbname) {
+ if (isHSQLDBRunning()) {
+ log.info("Internal HSQLDB is already running");
+ }
+ // port check
+ log.info("Check HSQLDB (9001) port availablity");
+ boolean available = portAvailable(9001);
+ if (!available) throw new RuntimeException("HSQLDB port is already in use");
+
Thread hsqlThread = null;
log.info("Starting HSQLDB...");
try {
@@ -370,6 +380,9 @@
log.info("HSQLDB started");
}
+
+
+
/**
* Stop HSQL Database by sending SHUTDOWN command
*/
@@ -474,4 +487,37 @@
}
return ret;
}
+
+ /**
+ * Checks to see if a specific port is available.
+ *
+ * @param port the port to check for availability
+ */
+ public static boolean portAvailable(int port) {
+ ServerSocket ss = null;
+ DatagramSocket ds = null;
+ try {
+ ss = new ServerSocket(port);
+ ss.setReuseAddress(true);
+ ds = new DatagramSocket(port);
+ ds.setReuseAddress(true);
+ return true;
+ } catch (IOException e) {
+ } finally {
+ if (ds != null) {
+ ds.close();
+ }
+
+ if (ss != null) {
+ try {
+ ss.close();
+ } catch (IOException e) {
+ /* should not be thrown */
+ }
+ }
+ }
+
+ return false;
+ }
+
}
More information about the jbosstools-commits
mailing list