This is an automated email from the git hooks/post-receive script. New change to branch feature/8405_migration_mode_serveur in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from 2e18713 Faire refonctionner les utilisations de référentiels new d519e37 Migrate Server Mode UI The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit d519e37f45520253509fa3e2fcc2e259e128bca8 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Jul 26 17:10:08 2016 +0200 Migrate Server Mode UI refs #8405 Summary of changes: observe-application-swing/pom.xml | 6 ++ .../observe/ObserveSwingApplicationContext.java | 25 +++++++ .../fr/ird/observe/ui/ObserveMainUIHandler.java | 4 -- .../observe/ui/actions/StartH2WebServerAction.java | 18 +++-- .../observe/ui/actions/StartServerModeAction.java | 78 ++++++++++++---------- .../observe/ui/actions/StopH2WebServerAction.java | 12 ++-- .../observe/ui/actions/StopServerModeAction.java | 24 ++++--- 7 files changed, 103 insertions(+), 64 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8405_migration_mode_serveur in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit d519e37f45520253509fa3e2fcc2e259e128bca8 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Jul 26 17:10:08 2016 +0200 Migrate Server Mode UI refs #8405 --- observe-application-swing/pom.xml | 6 ++ .../observe/ObserveSwingApplicationContext.java | 25 +++++++ .../fr/ird/observe/ui/ObserveMainUIHandler.java | 4 -- .../observe/ui/actions/StartH2WebServerAction.java | 18 +++-- .../observe/ui/actions/StartServerModeAction.java | 78 ++++++++++++---------- .../observe/ui/actions/StopH2WebServerAction.java | 12 ++-- .../observe/ui/actions/StopServerModeAction.java | 24 ++++--- 7 files changed, 103 insertions(+), 64 deletions(-) diff --git a/observe-application-swing/pom.xml b/observe-application-swing/pom.xml index 4726437..9549daf 100644 --- a/observe-application-swing/pom.xml +++ b/observe-application-swing/pom.xml @@ -249,6 +249,12 @@ <artifactId>jxlayer</artifactId> </dependency> + <!-- persistence --> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + </dependency> + <!-- FreeMarker --> <dependency> <groupId>org.freemarker</groupId> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 3ecc245..d8d1edb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -90,6 +90,7 @@ import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.swing.CardLayout2; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.h2.tools.Server; import javax.swing.ActionMap; import javax.swing.JOptionPane; @@ -203,6 +204,14 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im public static final JAXXContextEntryDef<List<String>> NODE_TO_RESELECT_ENTRY_DEF = UIHelper.newListContextEntryDef("nodeToReselect"); + /** the jaxx context entry to store the h2 server instance when the application switched to server mode */ + public static final JAXXContextEntryDef<Server> H2_SERVER_ENTRY_DEF = + JAXXUtil.newContextEntryDef(Server.class); + + /** the jaxx context entry to store the h2 webserver instance when the application switched to server mode */ + public static final JAXXContextEntryDef<Server> H2_WEBSERVER_ENTRY_DEF = + JAXXUtil.newContextEntryDef(Server.class); + protected final ReferenceBinderEngine referenceBinderEngine = new ReferenceBinderEngineSupplier().get(); public ObserveSwingApplicationConfig getConfig() { @@ -925,6 +934,22 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return dataSource; } + public Server getH2Server() { + return H2_SERVER_ENTRY_DEF.getContextValue(this); + } + + public void setH2Server(Server server) { + H2_SERVER_ENTRY_DEF.setContextValue(this, server); + } + + public Server getH2WebServer() { + return H2_WEBSERVER_ENTRY_DEF.getContextValue(this); + } + + public void setH2WebServer(Server server) { + H2_WEBSERVER_ENTRY_DEF.setContextValue(this, server); + } + protected void sanitizeOpenIds(String[] ids) { if (ids != null) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUIHandler.java index 4bdcd19..11a72cd 100755 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUIHandler.java @@ -76,10 +76,6 @@ public class ObserveMainUIHandler { /** Logger */ static private Log log = LogFactory.getLog(ObserveMainUIHandler.class); - public static final String H2_SERVER = "server"; - - public static final String H2_WEB_SERVER = "webServer"; - public void changeNavigationNode(ObserveMainUI ui, TreeSelectionEvent event) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartH2WebServerAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartH2WebServerAction.java index d3cc916..140a92a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartH2WebServerAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartH2WebServerAction.java @@ -22,11 +22,13 @@ package fr.ird.observe.ui.actions; * #L% */ +import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.UIHelper; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.h2.tools.Server; import javax.swing.AbstractAction; import java.awt.event.ActionEvent; @@ -74,13 +76,15 @@ public class StartH2WebServerAction extends AbstractAction { try { - //FIXME -// Server server = Server.createWebServer("-webAllowOthers"); -// server.start(); -// -// Server.openBrowser(server.getURL()); -// -// ui.setContextValue(server, ObserveMainUIHandler.H2_WEB_SERVER); + Server server = Server.createWebServer("-webAllowOthers"); + server.start(); + + Server.openBrowser(server.getURL()); + + // On mémorise l'instance du server dans le contexte applicatif afin de pouvoir la récupérer plus tard, + // par exemple lorsque l'on souhaitera arrêter le server. + ObserveSwingApplicationContext.get().setH2WebServer(server); + ui.setH2WebServer(true); } catch (Exception e) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartServerModeAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartServerModeAction.java index 2d36f0a..5ee4398 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartServerModeAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StartServerModeAction.java @@ -22,16 +22,21 @@ package fr.ird.observe.ui.actions; * #L% */ +import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.ui.ObserveMainUI; +import fr.ird.observe.ui.ObserveMainUIHandler; import fr.ird.observe.ui.ObserveUIMode; import jaxx.runtime.SwingUtil; +import jaxx.runtime.swing.ErrorDialogUI; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.h2.tools.Server; import javax.swing.AbstractAction; import java.awt.event.ActionEvent; import java.io.File; +import java.sql.SQLException; import static org.nuiton.i18n.I18n.t; @@ -79,42 +84,43 @@ public class StartServerModeAction extends AbstractAction { ui.setMode(ObserveUIMode.SERVER); - //FIXME -// try { -// -// Server server = Server.createTcpServer("-tcp", -// "-tcpAllowOthers", -// "-ifExists", -// "-baseDir", dbDirectory.getAbsolutePath(), -// "-tcpDaemon", -// "-tcpPort", -// String.valueOf(port)); -// -// String url = String.format(ObserveMainUIHandler.H2_SERVER_URL_PATTERN, -// server.getURL(), -// dbDirectory.getAbsolutePath()); -// -// server.start(); -// if (log.isInfoEnabled()) { -// log.info("server starts at " + url); -// } -// -// String text = t("observe.message.server.info", dbDirectory); -// ui.getServerModeInfo().setText(text); -// -// ui.getServerModeURL().setText(url); -// ui.getServerModeLogin().setText(h2Login); -// ui.getServerModePassword().setText(h2Password); -// -// ui.setContextValue(server, ObserveMainUIHandler.H2_SERVER); -// -// } catch (SQLException e) { -// -// if (log.isErrorEnabled()) { -// log.error("Could not start h2 server ", e); -// } -// ErrorDialogUI.showError(e); -// } + try { + + Server server = Server.createTcpServer("-tcp", + "-tcpAllowOthers", + "-ifExists", + "-baseDir", dbDirectory.getAbsolutePath(), + "-tcpDaemon", + "-tcpPort", + String.valueOf(port)); + + String url = String.format(ObserveMainUIHandler.H2_SERVER_URL_PATTERN, + server.getURL(), + dbDirectory.getAbsolutePath()); + + server.start(); + if (log.isInfoEnabled()) { + log.info("server starts at " + url); + } + + String text = t("observe.message.server.info", dbDirectory); + ui.getServerModeInfo().setText(text); + + ui.getServerModeURL().setText(url); + ui.getServerModeLogin().setText(h2Login); + ui.getServerModePassword().setText(h2Password); + + // On mémorise l'instance du server dans le contexte applicatif afin de pouvoir la récupérer plus tard, + // par exemple lorsque l'on souhaitera arrêter le server. + ObserveSwingApplicationContext.get().setH2Server(server); + + } catch (SQLException e) { + + if (log.isErrorEnabled()) { + log.error("Could not start h2 server ", e); + } + ErrorDialogUI.showError(e); + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopH2WebServerAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopH2WebServerAction.java index f405b8b..6e19bf8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopH2WebServerAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopH2WebServerAction.java @@ -22,11 +22,12 @@ package fr.ird.observe.ui.actions; * #L% */ +import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ui.ObserveMainUI; -import fr.ird.observe.ui.ObserveMainUIHandler; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.h2.tools.Server; import javax.swing.AbstractAction; import java.awt.event.ActionEvent; @@ -65,11 +66,10 @@ public class StopH2WebServerAction extends AbstractAction { log.info("Will stop web server mode..."); } - //FIXME -// Server server = ui.getContextValue(Server.class, ObserveMainUIHandler.H2_WEB_SERVER); -// if (server != null) { -// server.stop(); -// } + Server server = ObserveSwingApplicationContext.get().getH2WebServer(); + if (server != null) { + server.stop(); + } ui.setH2WebServer(false); } else { if (log.isWarnEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopServerModeAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopServerModeAction.java index aa0311b..9ed7c8d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopServerModeAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/StopServerModeAction.java @@ -22,12 +22,13 @@ package fr.ird.observe.ui.actions; * #L% */ +import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ui.ObserveMainUI; -import fr.ird.observe.ui.ObserveMainUIHandler; import fr.ird.observe.ui.ObserveUIMode; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.h2.tools.Server; import javax.swing.AbstractAction; import java.awt.event.ActionEvent; @@ -64,11 +65,12 @@ public class StopServerModeAction extends AbstractAction { if (log.isInfoEnabled()) { log.info("Will stop server mode..."); } - //FIXME -// Server server = ui.getContextValue(Server.class, ObserveMainUIHandler.H2_SERVER); -// if (server != null) { -// server.stop(); -// } + + Server server = ObserveSwingApplicationContext.get().getH2Server(); + + if (server != null) { + server.stop(); + } ui.setMode(ObserveUIMode.NO_DB); if (ui.isH2WebServer()) { @@ -85,11 +87,11 @@ public class StopServerModeAction extends AbstractAction { if (log.isInfoEnabled()) { log.info("Will stop web server mode..."); } - //FIXME -// Server server = ui.getContextValue(Server.class, ObserveMainUIHandler.H2_WEB_SERVER); -// if (server != null) { -// server.stop(); -// } + + Server server = ObserveSwingApplicationContext.get().getH2WebServer(); + if (server != null) { + server.stop(); + } ui.setH2WebServer(false); } else { if (log.isWarnEnabled()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm