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;
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;
- boolean running = false;
try {
if (server.isRunning()) {
- running = true;
buttonText = "Stop";
labelText = "running";
labelColor = SWT.COLOR_DARK_GREEN;
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() {
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;