This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git

commit b4cf90a5e7b11e22ab87fd772415d2e0a5b81e51
Author: James Netherton <[email protected]>
AuthorDate: Wed Oct 22 11:09:55 2025 +0100

    Simplify vertx-websocket-chat UI
---
 vertx-websocket-chat/pom.xml                       |  8 ---
 .../java/org/acme/websocket/WebSocketRoutes.java   | 28 +---------
 .../main/resources/META-INF/resources/index.html   | 65 ++--------------------
 3 files changed, 5 insertions(+), 96 deletions(-)

diff --git a/vertx-websocket-chat/pom.xml b/vertx-websocket-chat/pom.xml
index 8e5fe2d8..51dc2542 100644
--- a/vertx-websocket-chat/pom.xml
+++ b/vertx-websocket-chat/pom.xml
@@ -74,10 +74,6 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-bean</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-jackson</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-vertx-websocket</artifactId>
@@ -86,10 +82,6 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-rest</artifactId>
-        </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-arc</artifactId>
diff --git 
a/vertx-websocket-chat/src/main/java/org/acme/websocket/WebSocketRoutes.java 
b/vertx-websocket-chat/src/main/java/org/acme/websocket/WebSocketRoutes.java
index b9bb127b..81899bc4 100644
--- a/vertx-websocket-chat/src/main/java/org/acme/websocket/WebSocketRoutes.java
+++ b/vertx-websocket-chat/src/main/java/org/acme/websocket/WebSocketRoutes.java
@@ -22,7 +22,6 @@ import jakarta.inject.Inject;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.vertx.websocket.VertxWebsocketConstants;
-import org.apache.camel.model.rest.RestBindingMode;
 import org.jboss.logging.Logger;
 
 @ApplicationScoped
@@ -58,22 +57,8 @@ public class WebSocketRoutes extends RouteBuilder {
                 .to("vertx-websocket:/chat/{userName}?sendToAll=true")
                 .endChoice()
 
-                // Capture MESSAGE events and broadcast them to all connected 
peers or specified peer
+                // Capture MESSAGE events and broadcast them to all connected 
peers
                 .when(simple("${header.CamelVertxWebsocket.event} == 
'MESSAGE'"))
-                .choice()
-                .when(body().contains("recipientName"))
-                .unmarshal().json(ChatMessage.class)
-                .process(exchange -> {
-                    Message message = exchange.getMessage();
-                    ChatMessage chatMessage = 
message.getBody(ChatMessage.class);
-
-                    String recipientConnectionKey = 
sessionManager.getConnectionKey(chatMessage.getRecipientName());
-                    
exchange.getMessage().setHeader(VertxWebsocketConstants.CONNECTION_KEY, 
recipientConnectionKey);
-                    exchange.getMessage().setBody(chatMessage);
-                })
-                .setBody().simple("<<<<< ${header.userName}: 
${body.messageContent}")
-                .to("vertx-websocket:/chat/{userName}")
-                .otherwise()
                 .log("New message from user ${header.userName}: ${body}")
                 .setBody().simple("<<<<< ${header.userName}: ${body}")
                 .to("vertx-websocket:/chat/{userName}?sendToAll=true")
@@ -100,16 +85,5 @@ public class WebSocketRoutes extends RouteBuilder {
                 .setBody().simple("<<<<< ${header.userName} left the chat")
                 .to("vertx-websocket:/chat/{userName}?sendToAll=true")
                 .endChoice();
-
-        //Displays list of connected users in the UI
-        restConfiguration().bindingMode(RestBindingMode.json);
-
-        rest("/peers")
-                .get()
-                .to("direct:getConnectedUsers");
-
-        from("direct:getConnectedUsers")
-                .setBody(method(sessionManager, "getAllConnectedUsers"));
-
     }
 }
diff --git 
a/vertx-websocket-chat/src/main/resources/META-INF/resources/index.html 
b/vertx-websocket-chat/src/main/resources/META-INF/resources/index.html
index 549b3595..b6a1b437 100644
--- a/vertx-websocket-chat/src/main/resources/META-INF/resources/index.html
+++ b/vertx-websocket-chat/src/main/resources/META-INF/resources/index.html
@@ -66,11 +66,8 @@
                     <label for="message" class="col-form-label">Message</label>
                     <input type="text" class="form-control"  id="message" 
style="width:50%"/>
                 </div>
-                <div class="dropdown">
-                    <button type="button" class="btn btn-secondary 
dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" id="sending" 
onclick="listUsers()">Send</button>
-                    <ul class="dropdown-menu" 
aria-labelledby="dropdownMenuButton1" id="userList">
-        
-                    </ul>
+                <div class="mb-3">
+                    <button type="button" class="btn btn-primary" id="send" 
onclick="sendMessage()">Send</button>
                 </div>
             </div>
         </div>
@@ -82,6 +79,7 @@
         const message = $("#message");
         const connectDialog = $("#connect-dialog");
         const chatDialog = $("#chat-dialog");
+        let socket;
 
         userName.val("");
         chat.val("");
@@ -111,7 +109,7 @@
                 });
 
                 socket.addEventListener("error", (event) => {
-                  console.log("WebSocket error: ", event);
+                    console.log("WebSocket error: ", event);
                 });
 
                 socket.addEventListener("open", (event) => {
@@ -138,61 +136,6 @@
             }
         }
 
-        function sendDM(user){
-            let recipient = user;
-
-            let data = {
-            recipientName: recipient,
-            messageContent: message.val()
-            };
-
-            if (recipient.length && message.length) {
-                socket.send(JSON.stringify(data));
-                chat.val(chat.val() + ">>>>> " + userName.val() + ": " + 
message.val() + "\n");
-                message.val("");
-                scrollChat();
-            }
-        }
-
-        async function getConnectedUsers() {
-            try{
-                const response = await fetch('/peers');
-                const peers = await response.json();
-                return peers;
-            }catch(error){
-                console.log('Error',error);
-                throw error;
-            }
-        }
-        
-        async function listUsers() {
-            const currentUser = userName.val().trim();
-            let userList = document.getElementById("userList");
-            userList.innerHTML = ""; 
-            try {
-                let connectedUsers = await getConnectedUsers();
-                connectedUsers.forEach(function(user) {
-                    if (user !== currentUser){
-                        let listItem = document.createElement("button");
-                        listItem.classList.add("dropdown-item");
-                        listItem.innerText = user;
-                        listItem.addEventListener("click", function() {
-                            sendDM(user);
-                        });
-                        userList.appendChild(listItem);
-                    }
-                });
-
-                let sendAll = document.createElement("button");
-                sendAll.classList.add("dropdown-item");
-                sendAll.innerText = "Send All";
-                sendAll.addEventListener("click", sendMessage);
-                userList.appendChild(sendAll);
-            } catch(error) {
-                console.error('Error populating user list:', error);
-            }
-        }
-
         function scrollChat() {
             chat.scrollTop($(chat)[0].scrollHeight);
         }

Reply via email to