X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server.ui%2Fsrc%2Forg%2Fsimantics%2Fmaps%2Fserver%2Fui%2Fprefs%2FMapsServerPreferencePage.java;fp=org.simantics.maps.server.ui%2Fsrc%2Forg%2Fsimantics%2Fmaps%2Fserver%2Fui%2Fprefs%2FMapsServerPreferencePage.java;h=0dc33f13041741b2bbc60ff9ba0d101922183b58;hb=a018cc96644b634cec0dd999298cd374648e2980;hp=6dc96877b2e56957d54167891f9d6a827c863ea6;hpb=4fb69ee0635d0a03b6a4253d5c1cd920c5eb5366;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server.ui/src/org/simantics/maps/server/ui/prefs/MapsServerPreferencePage.java b/org.simantics.maps.server.ui/src/org/simantics/maps/server/ui/prefs/MapsServerPreferencePage.java index 6dc96877..0dc33f13 100644 --- a/org.simantics.maps.server.ui/src/org/simantics/maps/server/ui/prefs/MapsServerPreferencePage.java +++ b/org.simantics.maps.server.ui/src/org/simantics/maps/server/ui/prefs/MapsServerPreferencePage.java @@ -31,6 +31,7 @@ import org.eclipse.ui.preferences.ScopedPreferenceStore; import org.simantics.district.maps.server.TileserverMapnik; import org.simantics.district.maps.server.TileserverMapnikInstance; import org.simantics.district.maps.server.prefs.MapsServerPreferences; +import org.simantics.maps.server.ui.TileserverMapnikStartJob; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,6 +64,28 @@ public class MapsServerPreferencePage extends FieldEditorPreferencePage implemen private void createServerStatusField(Composite parent) { Label label = new Label(parent, SWT.NONE); + + Button b = new Button(parent, SWT.NONE); + updateWidgets(label, b); + b.addSelectionListener(new SelectionAdapter() { + + @Override + public void widgetSelected(SelectionEvent e) { + try { + if (server.isRunning()) { + server.stop(); + updateWidgets(label, b); + } else { + new TileserverMapnikStartJob().schedule(); + } + } catch (Exception ex) { + LOGGER.error("Could not start/stop server", ex); + } + } + }); + } + + private void updateWidgets(Label label, Button b) { String labelText = ""; String buttonText = ""; int labelColor = -1; @@ -85,24 +108,7 @@ public class MapsServerPreferencePage extends FieldEditorPreferencePage implemen label.setText("Tileserver is currently " + labelText); label.setForeground(getShell().getDisplay().getSystemColor(labelColor)); - Button b = new Button(parent, SWT.NONE); b.setText(buttonText + " server"); - b.addSelectionListener(new SelectionAdapter() { - - @Override - public void widgetSelected(SelectionEvent e) { - try { - if (server.isRunning()) { - server.stop(); - } else { - server.start(); - } - - } catch (Exception ex) { - LOGGER.error("Could not start/stop server", ex); - } - } - }); } private void createGeneralGroup() { @@ -233,9 +239,10 @@ public class MapsServerPreferencePage extends FieldEditorPreferencePage implemen boolean success = super.performOk(); try { - server.restart(); + server.stop(); + new TileserverMapnikStartJob().schedule(); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Could not restart tileserver-mapnik", e); } return success;