Start documentation server on demand instead of the start of the app

This commit is contained in:
0xb00bface 2021-01-23 17:25:39 +01:00
parent ce4a8fe24e
commit bab8392430
3 changed files with 17 additions and 15 deletions

View File

@ -26,6 +26,7 @@ public class DocServer {
return; return;
} }
started = true;
server = new Server(); server = new Server();
HttpConfiguration config = new HttpConfiguration(); HttpConfiguration config = new HttpConfiguration();
@ -55,7 +56,6 @@ public class DocServer {
try { try {
server.start(); server.start();
started = true;
server.join(); server.join();
} catch (BindException e) { } catch (BindException e) {
LOG.error("Port {} is already in use", http.getPort(), e); LOG.error("Port {} is already in use", http.getPort(), e);

View File

@ -32,7 +32,6 @@ import ctbrec.Config;
import ctbrec.Model; import ctbrec.Model;
import ctbrec.StringUtil; import ctbrec.StringUtil;
import ctbrec.Version; import ctbrec.Version;
import ctbrec.docs.DocServer;
import ctbrec.event.Event; import ctbrec.event.Event;
import ctbrec.event.EventBusHolder; import ctbrec.event.EventBusHolder;
import ctbrec.event.EventHandler; import ctbrec.event.EventHandler;
@ -134,7 +133,6 @@ public class CamrecApplication extends Application {
startOnlineMonitor(); startOnlineMonitor();
createGui(primaryStage); createGui(primaryStage);
checkForUpdates(); checkForUpdates();
startHelpServer();
registerClipboardListener(); registerClipboardListener();
} }
@ -160,16 +158,6 @@ public class CamrecApplication extends Application {
} }
} }
private void startHelpServer() {
new Thread(() -> {
try {
DocServer.start();
} catch (Exception e) {
LOG.error("Couldn't start documentation server", e);
}
}).start();
}
private void startOnlineMonitor() { private void startOnlineMonitor() {
for (Site site : sites) { for (Site site : sites) {
if(site.isEnabled()) { if(site.isEnabled()) {

View File

@ -1,5 +1,9 @@
package ctbrec.ui.tabs; package ctbrec.ui.tabs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ctbrec.docs.DocServer;
import ctbrec.ui.DesktopIntegration; import ctbrec.ui.DesktopIntegration;
import javafx.geometry.Insets; import javafx.geometry.Insets;
import javafx.scene.control.Button; import javafx.scene.control.Button;
@ -8,16 +12,26 @@ import javafx.scene.layout.BorderPane;
public class HelpTab extends Tab { public class HelpTab extends Tab {
private static final Logger LOG = LoggerFactory.getLogger(HelpTab.class);
public HelpTab() { public HelpTab() {
setClosable(true); setClosable(true);
setText("Help"); setText("Help");
Button openHelp = new Button("Open Help"); Button openHelp = new Button("Open Help");
openHelp.setPadding(new Insets(20)); openHelp.setPadding(new Insets(20));
BorderPane layout = new BorderPane(openHelp); BorderPane layout = new BorderPane(openHelp);
BorderPane.setMargin(openHelp, new Insets(20)); BorderPane.setMargin(openHelp, new Insets(20));
setContent(layout); setContent(layout);
openHelp.setOnAction(e -> DesktopIntegration.open("http://localhost:5689/docs/index.md")); openHelp.setOnAction(e -> {
new Thread(() -> {
try {
DocServer.start();
} catch (Exception ex) {
LOG.error("Couldn't start documentation server", ex);
}
}).start();
DesktopIntegration.open("http://localhost:5689/docs/index.md");
});
} }
} }