only initialize jetty on demand

This commit is contained in:
Sebastian Stenzel
2018-03-17 15:54:32 +01:00
parent 2610ef4645
commit a666c80ef5
2 changed files with 15 additions and 13 deletions

View File

@@ -14,17 +14,8 @@ import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;
import javafx.beans.value.ObservableValue;
import javafx.scene.layout.GridPane;
import javafx.util.StringConverter;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.ui.l10n.Localization;
import org.cryptomator.common.settings.NioAdapterImpl;
import com.google.common.base.CharMatcher;
import com.google.common.base.Strings;
import javafx.beans.binding.Bindings;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
@@ -35,8 +26,13 @@ import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.VBox;
import org.fxmisc.easybind.EasyBind;
import javafx.util.StringConverter;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.settings.NioAdapterImpl;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.ui.l10n.Localization;
@Singleton
public class SettingsController implements ViewController {

View File

@@ -10,6 +10,8 @@ import org.cryptomator.frontend.webdav.mount.Mounter;
import org.cryptomator.frontend.webdav.servlet.WebDavServletController;
import javax.inject.Inject;
import javax.inject.Provider;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -18,22 +20,26 @@ public class WebDavVolume implements Volume {
private static final String LOCALHOST_ALIAS = "cryptomator-vault";
private final WebDavServer server;
private final Provider<WebDavServer> serverProvider;
private final VaultSettings vaultSettings;
private final Settings settings;
private WebDavServer server;
private WebDavServletController servlet;
private Mounter.Mount mount;
@Inject
public WebDavVolume(WebDavServer server, VaultSettings vaultSettings, Settings settings) {
this.server = server;
public WebDavVolume(Provider<WebDavServer> serverProvider, VaultSettings vaultSettings, Settings settings) {
this.serverProvider = serverProvider;
this.vaultSettings = vaultSettings;
this.settings = settings;
}
@Override
public void prepare(CryptoFileSystem fs) {
if (server == null) {
server = serverProvider.get();
}
if (!server.isRunning()) {
server.start();
}