Skip to content

Commit 2675f6f

Browse files
author
Markus Fleischauer
committed
fix missing AWT initialization when starting rest api
1 parent 15cdcfd commit 2675f6f

File tree

7 files changed

+22
-21
lines changed

7 files changed

+22
-21
lines changed

sirius_cli/src/main/resources/sirius_frontend.build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#here you can provide properties that may be needed during build- AND during runtime and should not be editable by the user at runtime
2-
de.unijena.bioinf.siriusFrontend.version=6.2.1-SNAPSHOT
2+
de.unijena.bioinf.siriusFrontend.version=6.2.2-SNAPSHOT
33
#
44
de.unijena.bioinf.sirius.http.job.fingerprint.limit = 5000
55
de.unijena.bioinf.sirius.http.job.canopus.limit = 5000

sirius_gui/src/main/java/de/unijena/bioinf/ms/frontend/splash/Splash.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class Splash extends JWindow implements JobProgressEventListener {
2727
private final JProgressBar progressBar;
2828
protected ProgressJJob<?> source;
2929

30-
public Splash(boolean indeterminate) {
30+
public Splash(boolean indeterminate, boolean fake) {
3131
UIDefaults overrides = new UIDefaults();
3232
// overrides.put("ProgressBar[Enabled].foregroundPainter", new MyPainter(new Color(155, 166, 219)));
3333
overrides.put("ProgressBar[Enabled].foregroundPainter", new MyPainter(Colors.SplashScreen.PROGRESS_BAR));
@@ -43,7 +43,11 @@ public Splash(boolean indeterminate) {
4343
this.setContentPane(contentPane);
4444
contentPane.setLayout(new BorderLayout());
4545
ImageIcon icon = new ImageIcon(MainFrame.class.getResource("/icons/sirius_splash_scribble.gif"));
46-
this.setSize(icon.getIconWidth(), icon.getIconHeight());
46+
// fake screener is used to init GUI AWT framwork so that JCEF has a canvas to connect to
47+
if (fake)
48+
this.setSize(1, 1);
49+
else
50+
this.setSize(icon.getIconWidth(), icon.getIconHeight());
4751
contentPane.add(new JLabel(icon, JLabel.CENTER), BorderLayout.CENTER);
4852
contentPane.add(progressBar, BorderLayout.SOUTH);
4953

sirius_gui/src/main/java/de/unijena/bioinf/ms/gui/mainframe/MainFrame.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,6 @@ public void decoradeMainFrame() {
206206
));
207207

208208
setLocationRelativeTo(null); //init mainframe
209-
setVisible(true);
210-
toFront();
211-
212-
Jobs.runEDTLater(this::checkAndInitSoftwareTour);
213209
}
214210

215211
// region dragndrop
@@ -272,7 +268,7 @@ private void importDragAndDropFiles(InputFilesOptions files) {
272268
}
273269
//endregion
274270

275-
private void checkAndInitSoftwareTour() {
271+
public void checkAndInitSoftwareTour() {
276272
SoftwareTourUtils.checkAndInitTour(this, SoftwareTourInfoStore.MainFrameTourName, SoftwareTourInfoStore.MainFrameTourKey, gui.getProperties());
277273
}
278274
}

sirius_rest_service/src/main/java/de/unijena/bioinf/ms/frontend/subtools/middleware/MiddlewareAppOptions.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,6 @@ public void run() {
187187
if (isStartGui())
188188
guiService.createGuiInstance(startPs.getProjectId());
189189

190-
if (splash != null)
191-
Jobs.runEDTLater(splash::dispose);
192-
193190
//increase priority of GUI thread.
194191
Jobs.runEDTLater(() -> Thread.currentThread().setPriority(9));
195192
} else {
@@ -199,6 +196,8 @@ public void run() {
199196
throw new RuntimeException(e);
200197
}
201198
}
199+
if (splash != null)
200+
Jobs.runEDTLater(splash::dispose);
202201
}
203202
}
204203
}

sirius_rest_service/src/main/java/de/unijena/bioinf/ms/middleware/SiriusMiddlewareApplication.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import de.unijena.bioinf.ms.frontend.subtools.middleware.MiddlewareAppOptions;
3737
import de.unijena.bioinf.ms.frontend.workflow.InstanceBufferFactory;
3838
import de.unijena.bioinf.ms.frontend.workflow.WorkflowBuilder;
39+
import de.unijena.bioinf.ms.gui.compute.jjobs.Jobs;
3940
import de.unijena.bioinf.ms.middleware.service.gui.GuiService;
4041
import de.unijena.bioinf.ms.middleware.service.projects.ProjectsProvider;
4142
import de.unijena.bioinf.ms.properties.PropertyManager;
@@ -183,7 +184,10 @@ public static void main(String[] args) {
183184
log.error("Error when initializing Splash.", e);
184185
}
185186
}
186-
splashScreen = new Splash(true);
187+
splashScreen = new Splash(true, false);
188+
} else {
189+
splashScreen = new Splash(true, true);
190+
Jobs.runEDTLater(splashScreen::dispose);
187191
}
188192
}
189193

sirius_rest_service/src/main/java/de/unijena/bioinf/ms/middleware/controller/GuiController.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
package de.unijena.bioinf.ms.middleware.controller;
2222

2323
import de.unijena.bioinf.ms.middleware.model.gui.GuiInfo;
24-
import de.unijena.bioinf.ms.middleware.model.gui.GuiParameters;
2524
import de.unijena.bioinf.ms.middleware.service.gui.GuiService;
2625
import de.unijena.bioinf.ms.middleware.service.projects.ProjectsProvider;
27-
import io.swagger.v3.oas.annotations.Hidden;
2826
import io.swagger.v3.oas.annotations.tags.Tag;
2927
import org.springframework.beans.factory.annotation.Autowired;
3028
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@@ -65,15 +63,10 @@ public List<GuiInfo> getGuis() {
6563
* Open GUI instance on specified project-space and bring the GUI window to foreground.
6664
* @param projectId of project-space the GUI instance will connect to.
6765
*/
68-
//todo enabled advanced setting here due to compatibility with explorer.
69-
// remove after sdk update
7066
@PostMapping(value = "/api/projects/{projectId}/gui", produces = MediaType.APPLICATION_JSON_VALUE)
7167
@ResponseStatus(HttpStatus.CREATED)
72-
public void openGui(@PathVariable String projectId,
73-
@RequestBody(required = false) GuiParameters guiParameters,
74-
@RequestParam(required = false, defaultValue = "false") boolean readOnly
75-
) {
76-
guiService.createGuiInstance(projectId, guiParameters);
68+
public void openGui(@PathVariable String projectId) {
69+
guiService.createGuiInstance(projectId, null);
7770
}
7871

7972
/**

sirius_rest_service/src/main/java/de/unijena/bioinf/ms/middleware/service/gui/GuiServiceImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,11 @@ public void windowClosing(WindowEvent e) {
111111
}
112112
});
113113
}
114+
Jobs.runEDTLater(() -> {
115+
gui.getMainFrame().setVisible(true);
116+
gui.getMainFrame().toFront();
117+
gui.getMainFrame().checkAndInitSoftwareTour();
118+
});
114119
}
115120

116121
@Override

0 commit comments

Comments
 (0)