You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2019/07/29 09:00:09 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2095] fixes issue #34: build on windows should be successful

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new e434dc3  [OPENMEETINGS-2095] fixes issue #34: build on windows should be successful
e434dc3 is described below

commit e434dc3db57f5d069e963bf11d0b72963aad496f
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Mon Jul 29 15:59:53 2019 +0700

    [OPENMEETINGS-2095] fixes issue #34: build on windows should be successful
---
 .../java/org/apache/openmeetings/cli/H2Patcher.java     |  9 ++++++++-
 .../openmeetings/web/pages/install/InstallWizard.java   |  3 +--
 .../java/org/apache/openmeetings/cli/TestAdmin.java     |  7 ++++---
 .../openmeetings/web/pages/install/TestInstall.java     | 17 ++++++++++++++---
 4 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/H2Patcher.java b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/H2Patcher.java
index e2a1b27..047bd39 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/H2Patcher.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/H2Patcher.java
@@ -18,12 +18,19 @@
  */
 package org.apache.openmeetings.cli;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 public class H2Patcher extends ConnectionPropertiesPatcher {
+	private static final Logger log = LoggerFactory.getLogger(H2Patcher.class);
+
 	@Override
 	protected String getUrl(String inUrl, String host, String inPort, String inDb) {
 		String db = (inDb == null) ? "./" + DEFAULT_DB_NAME : inDb;
 		int idx = inUrl.indexOf(';');
 		String suffix = idx > -1 ? inUrl.substring(idx) : "";
-		return String.format("jdbc:h2:%s%s", db, suffix);
+		String url = "jdbc:h2:" + db + suffix;
+		log.info("resulting H2 URL: '{}', db: '{}', suffix: '{}'", url, db, suffix);
+		return url;
 	}
 }
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
index 930ee59..21e23c3 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
@@ -368,8 +368,7 @@ public class InstallWizard extends AbstractWizard<InstallationConfig> {
 						host.setModelObject("");
 						port.setModelObject(0);
 						String[] parts = props.getURL().split(";");
-						String[] hp = parts[0].split(":");
-						dbname.setModelObject(hp[2]);
+						dbname.setModelObject(parts[0].substring("jdbc:h2:".length()));
 						}
 						break;
 					default:
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java b/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
index 5d8ec8f..cb3a773 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.cli;
 
+import static org.apache.commons.io.FileUtils.deleteQuietly;
 import static org.apache.openmeetings.AbstractJUnitDefaults.adminUsername;
 import static org.apache.openmeetings.AbstractJUnitDefaults.email;
 import static org.apache.openmeetings.AbstractJUnitDefaults.group;
@@ -47,15 +48,14 @@ import org.apache.wicket.protocol.http.WebApplication;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.io.TempDir;
 
 public class TestAdmin {
-	@TempDir
-	File tempFolder;
+	private File tempFolder;
 
 	@BeforeEach
 	public void setUp() throws Exception {
 		setOmHome();
+		tempFolder = Files.createTempDirectory("omtempdb").toFile();
 		System.setProperty("user.dir", tempFolder.getCanonicalPath());
 		System.setProperty(OM_HOME, getOmHome().getCanonicalPath());
 		setH2Home(tempFolder);
@@ -73,6 +73,7 @@ public class TestAdmin {
 		}
 		System.setProperty("context", DEFAULT_CONTEXT_NAME);
 		setWicketApplicationName(DEFAULT_CONTEXT_NAME);
+		deleteQuietly(tempFolder);
 	}
 
 	private static void checkError(String... args) throws Exception {
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
index 366f96b..1a97be7 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
@@ -19,7 +19,7 @@
 package org.apache.openmeetings.web.pages.install;
 
 import static com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog.SUBMIT;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
+import static org.apache.commons.io.FileUtils.deleteQuietly;
 import static org.apache.openmeetings.AbstractJUnitDefaults.adminUsername;
 import static org.apache.openmeetings.AbstractJUnitDefaults.email;
 import static org.apache.openmeetings.AbstractJUnitDefaults.group;
@@ -28,6 +28,7 @@ import static org.apache.openmeetings.AbstractWicketTester.checkErrors;
 import static org.apache.openmeetings.AbstractWicketTester.countErrors;
 import static org.apache.openmeetings.AbstractWicketTester.getButtonBehavior;
 import static org.apache.openmeetings.AbstractWicketTester.getWicketTester;
+import static org.apache.openmeetings.cli.ConnectionPropertiesPatcher.DEFAULT_DB_NAME;
 import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAME;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setWicketApplicationName;
@@ -65,8 +66,18 @@ public class TestInstall {
 	protected WicketTester tester;
 	protected Random rnd = new Random();
 
+	private static String getH2Home(File dir) throws Exception {
+		File f = new File(dir.getCanonicalFile(), DEFAULT_DB_NAME);
+		String path = f.toURI().toString();
+		if (System.getProperty("os.name").startsWith("Win")) {
+			path = "file:" + path.substring(6);
+		}
+		log.warn("Gonna create DB at {}", path);
+		return path;
+	}
+
 	public static void setH2Home(File f) throws Exception {
-		ConnectionPropertiesPatcher.patch("h2", null, null, f.getCanonicalPath(), null, null);
+		ConnectionPropertiesPatcher.patch("h2", null, null, getH2Home(f), null, null);
 	}
 
 	public static void resetH2Home() throws Exception {
@@ -93,7 +104,7 @@ public class TestInstall {
 		AbstractWicketTester.destroy(tester);
 		log.info("WicketTester is destroyed");
 		resetH2Home();
-		deleteDirectory(tempFolder);
+		deleteQuietly(tempFolder);
 		log.info("Clean-up complete");
 	}