From 415884dd73d16b22bb8a711aeaa4ba63c058fc3a Mon Sep 17 00:00:00 2001 From: danieldieeins Date: Sun, 22 Dec 2024 12:16:12 +0100 Subject: [PATCH] Update to support new Nexus Utilities version --- README.md | 12 +++---- pom.xml | 4 +-- .../events/AsyncWebFrameConnectorEvent.java | 31 +++++++++++++------ .../nexus/desktop/events/Event.java | 8 ----- .../events/WebFrameConnectorEvent.java | 22 +++++++++++-- .../desktop/frame/web/NexusWebFrame.java | 12 ++++--- .../desktop/frame/web/NexusWebSetup.java | 2 ++ 7 files changed, 57 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/com/zyneonstudios/nexus/desktop/events/Event.java diff --git a/README.md b/README.md index 6ec8c13..4262453 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Nexus Desktop `2024.9` +# Nexus Desktop `2024.12.6` ### Java 21 library designed to simplify the development of Java Desktop apps.
Based on [Nexus Utilities](https://github.com/zyneonstudios/nexus-utilities) @@ -11,13 +11,9 @@ --- ### Contents -- Everything from [Nexus Utilities Contents](https://github.com/zyneonstudios/nexus-utilities#contents) -- [NexusDesktop: Default initialization class](https://zyneonstudios.github.io/nexus-desktop-base/apidocs/com/zyneonstudios/nexus/desktop/NexusDesktop) -- [Frame](https://zyneonstudios.github.io/nexus-desktop-base/apidocs/com/zyneonstudios/nexus/desktop/frame/package-summary) - - [NexusFrame: Base frame](https://zyneonstudios.github.io/nexus-desktop-base/apidocs/com/zyneonstudios/nexus/desktop/frame/NexusFrame) - - [Web](https://zyneonstudios.github.io/nexus-desktop-base/apidocs/com/zyneonstudios/nexus/desktop/frame/web/package-summary) - - [NexusWebFrame: Chromium frame with optimized settings](https://zyneonstudios.github.io/nexus-desktop-base/apidocs/com/zyneonstudios/nexus/desktop/frame/web/NexusWebFrame) - - [NexusWebSetup: Setup for JCEF](https://zyneonstudios.github.io/nexus-desktop-base/apidocs/com/zyneonstudios/nexus/desktop/frame/web/NexusWebSetup) +See Javadocs: +- [NexusUtilities](https://zyneonstudios.github.io/nexus-utilities/apidocs/) +- [NexusDesktop (this)](https://zyneonstudios.github.io/nexus-desktop-base/apidocs/) --- diff --git a/pom.xml b/pom.xml index 7a9d088..011e7da 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.zyneonstudios.nexus base-desktop - 2024.12.6-beta.1 + 2024.12.6 21 @@ -43,7 +43,7 @@ com.zyneonstudios.nexus base-utilities - 2024.12-beta.1 + 2024.12.1 compile diff --git a/src/main/java/com/zyneonstudios/nexus/desktop/events/AsyncWebFrameConnectorEvent.java b/src/main/java/com/zyneonstudios/nexus/desktop/events/AsyncWebFrameConnectorEvent.java index 4a0b4ac..702c07b 100644 --- a/src/main/java/com/zyneonstudios/nexus/desktop/events/AsyncWebFrameConnectorEvent.java +++ b/src/main/java/com/zyneonstudios/nexus/desktop/events/AsyncWebFrameConnectorEvent.java @@ -1,17 +1,36 @@ package com.zyneonstudios.nexus.desktop.events; import com.zyneonstudios.nexus.desktop.frame.web.NexusWebFrame; +import com.zyneonstudios.nexus.utilities.events.Event; import java.util.UUID; import java.util.concurrent.CompletableFuture; -public abstract class AsyncWebFrameConnectorEvent implements Event{ +public abstract class AsyncWebFrameConnectorEvent implements Event { private final UUID uuid = UUID.randomUUID(); private final NexusWebFrame frame; + private String message; - public AsyncWebFrameConnectorEvent(NexusWebFrame frame) { + public AsyncWebFrameConnectorEvent(NexusWebFrame frame, String message) { this.frame = frame; + this.message = message; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + @Override + public boolean execute() { + CompletableFuture.runAsync(() -> { + resolveMessage(message); + }); + return true; } @Override @@ -23,11 +42,5 @@ public NexusWebFrame getFrame() { return frame; } - public final void resolveAsync(String message) { - CompletableFuture.runAsync(() -> {resolveMessage(message);}); - } - - public void resolveMessage(String message) { - CompletableFuture.runAsync(() -> {}); - }; + protected abstract void resolveMessage(String message); } diff --git a/src/main/java/com/zyneonstudios/nexus/desktop/events/Event.java b/src/main/java/com/zyneonstudios/nexus/desktop/events/Event.java deleted file mode 100644 index 776ffed..0000000 --- a/src/main/java/com/zyneonstudios/nexus/desktop/events/Event.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.zyneonstudios.nexus.desktop.events; - -import java.util.UUID; - -public interface Event { - - UUID getUUID(); -} \ No newline at end of file diff --git a/src/main/java/com/zyneonstudios/nexus/desktop/events/WebFrameConnectorEvent.java b/src/main/java/com/zyneonstudios/nexus/desktop/events/WebFrameConnectorEvent.java index c170882..76cc2e3 100644 --- a/src/main/java/com/zyneonstudios/nexus/desktop/events/WebFrameConnectorEvent.java +++ b/src/main/java/com/zyneonstudios/nexus/desktop/events/WebFrameConnectorEvent.java @@ -1,16 +1,32 @@ package com.zyneonstudios.nexus.desktop.events; import com.zyneonstudios.nexus.desktop.frame.web.NexusWebFrame; +import com.zyneonstudios.nexus.utilities.events.Event; import java.util.UUID; -public abstract class WebFrameConnectorEvent implements Event{ +public abstract class WebFrameConnectorEvent implements Event { private final UUID uuid = UUID.randomUUID(); private final NexusWebFrame frame; + private String message; - public WebFrameConnectorEvent(NexusWebFrame frame) { + public WebFrameConnectorEvent(NexusWebFrame frame, String message) { this.frame = frame; + this.message = message; + } + + public void setMessage(String message) { + this.message = message; + } + + @Override + public final boolean execute() { + return resolveMessage(message); + } + + public String getMessage() { + return message; } @Override @@ -22,5 +38,5 @@ public NexusWebFrame getFrame() { return frame; } - public abstract boolean resolveMessage(String message); + protected abstract boolean resolveMessage(String message); } diff --git a/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebFrame.java b/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebFrame.java index fffd705..5ab0fce 100644 --- a/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebFrame.java +++ b/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebFrame.java @@ -43,16 +43,20 @@ public boolean onConsoleMessage(CefBrowser browser, CefSettings.LogSeverity leve if (message.startsWith("[CONNECTOR] async.")) { String request = message.replace("[CONNECTOR] async.", ""); if(asyncWebFrameConnectorEvent!=null) { - asyncWebFrameConnectorEvent.resolveAsync(request); + asyncWebFrameConnectorEvent.setMessage(request); + asyncWebFrameConnectorEvent.execute(); } else if(webFrameConnectorEvent!=null) { - webFrameConnectorEvent.resolveMessage(request); + webFrameConnectorEvent.setMessage(request); + webFrameConnectorEvent.execute(); } } else if (message.startsWith("[CONNECTOR] ")) { String request = message.replace("[CONNECTOR] ", ""); if(webFrameConnectorEvent!=null) { - webFrameConnectorEvent.resolveMessage(request); + webFrameConnectorEvent.setMessage(request); + webFrameConnectorEvent.execute(); } else if(asyncWebFrameConnectorEvent!=null) { - asyncWebFrameConnectorEvent.resolveAsync(request); + asyncWebFrameConnectorEvent.setMessage(request); + asyncWebFrameConnectorEvent.execute(); } } else if (message.startsWith("[LOG] ")) { NexusDesktop.getLogger().log(message.replace("[LOG] ","[FRAME] ")); diff --git a/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebSetup.java b/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebSetup.java index a777efc..9b31d28 100644 --- a/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebSetup.java +++ b/src/main/java/com/zyneonstudios/nexus/desktop/frame/web/NexusWebSetup.java @@ -1,5 +1,6 @@ package com.zyneonstudios.nexus.desktop.frame.web; +import com.zyneonstudios.nexus.desktop.NexusDesktop; import me.friwi.jcefmaven.CefAppBuilder; import org.cef.CefApp; import org.cef.CefClient; @@ -101,6 +102,7 @@ public boolean onBeforePopup(CefBrowser browser, CefFrame frame, String target_u }); return true; } catch (Exception e) { + NexusDesktop.getLogger().err("Failed to finish the web setup: "+e.getMessage()); return false; } }