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

wmedvedeo pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git


The following commit(s) were added to refs/heads/10.0.x by this push:
     new 2267595a11c [10.0.x] kie-tools-2483: sonataflow-quarkus-devui: send 
the DevUI webapp a parameter to recognize we are in a local cluster (#2499)
2267595a11c is described below

commit 2267595a11c72ddb11f4f2fb4183359c77642aa2
Author: Walter Medvedeo <[email protected]>
AuthorDate: Fri Aug 2 11:40:58 2024 +0200

    [10.0.x] kie-tools-2483: sonataflow-quarkus-devui: send the DevUI webapp a 
parameter to recognize we are in a local cluster (#2499)
---
 .../sonataflow-quarkus-devui-deployment/pom.xml          |  4 ++++
 .../swf/tools/deployment/DevConsoleProcessor.java        | 14 ++++++++++----
 .../resources/dev-ui/qwc-sonataflow-quarkus-devui.js     |  3 ++-
 .../rpc/SonataFlowQuarkusExtensionJsonRPCService.java    | 16 ++++++++++++++--
 4 files changed, 30 insertions(+), 7 deletions(-)

diff --git 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml
index 60566dbebff..b9d9eaa5486 100644
--- 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml
+++ 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml
@@ -69,6 +69,10 @@
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-resteasy-multipart-deployment</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.kie.sonataflow</groupId>
+      <artifactId>sonataflow-quarkus-devui</artifactId>
+    </dependency>
     <!-- Transitively imported by 
io.quarkus:quarkus-resteasy-multipart-deployment
          Overriding it to fix CVE-2024-21742
          Can be removed once the parent dependency updates it to a 0.8.11+ 
version -->
diff --git 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
index 442a2407f65..fe0a4b1cbdc 100644
--- 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
+++ 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
@@ -19,14 +19,12 @@
 package org.kie.sonataflow.swf.tools.deployment;
 
 import java.io.IOException;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
 import java.util.List;
-import java.util.Optional;
 
 import io.quarkus.deployment.Capabilities;
 import io.quarkus.devui.spi.JsonRPCProvidersBuildItem;
+import org.eclipse.microprofile.config.ConfigProvider;
 import 
org.kie.sonataflow.swf.tools.runtime.config.DevUIStaticArtifactsRecorder;
 
 import io.quarkus.deployment.IsDevelopment;
@@ -49,6 +47,8 @@ import io.quarkus.vertx.http.deployment.RouteBuildItem;
 import 
io.quarkus.vertx.http.runtime.management.ManagementInterfaceBuildTimeConfig;
 import 
org.kie.sonataflow.swf.tools.runtime.rpc.SonataFlowQuarkusExtensionJsonRPCService;
 
+import static 
org.kie.sonataflow.swf.tools.runtime.rpc.SonataFlowQuarkusExtensionJsonRPCService.IS_LOCAL_CLUSTER;
+
 public class DevConsoleProcessor {
 
     private static final String STATIC_RESOURCES_PATH = "dev-static/";
@@ -108,11 +108,17 @@ public class DevConsoleProcessor {
 
         String openapiPath = getProperty(configurationBuildItem, 
systemPropertyBuildItems, "quarkus.smallrye-openapi.path");
         String devUIUrl = getProperty(configurationBuildItem, 
systemPropertyBuildItems, "kogito.dev-ui.url");
-        String dataIndexUrl = getProperty(configurationBuildItem, 
systemPropertyBuildItems, "kogito.data-index.url");
+        String dataIndexUrl = null;
 
         cardPageBuildItem.addBuildTimeData("extensionBasePath", uiPath);
         cardPageBuildItem.addBuildTimeData("openapiPath", openapiPath);
         cardPageBuildItem.addBuildTimeData("devUIUrl", devUIUrl);
+        // temporary, set isLocalCluster always true since sonataflow-dev-ui 
works in k8s cluster.
+        boolean isLocalCluster = 
ConfigProvider.getConfig().getOptionalValue(IS_LOCAL_CLUSTER, 
Boolean.class).orElse(true);
+        cardPageBuildItem.addBuildTimeData("isLocalCluster", isLocalCluster);
+        if (!isLocalCluster) {
+            dataIndexUrl = getProperty(configurationBuildItem, 
systemPropertyBuildItems, "kogito.data-index.url");
+        }
         cardPageBuildItem.addBuildTimeData("dataIndexUrl", dataIndexUrl);
 
         cardPageBuildItem.addPage(Page.webComponentPageBuilder()
diff --git 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/resources/dev-ui/qwc-sonataflow-quarkus-devui.js
 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/resources/dev-ui/qwc-sonataflow-quarkus-devui.js
index 85b8d1ddcd7..bd5920665c1 100644
--- 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/resources/dev-ui/qwc-sonataflow-quarkus-devui.js
+++ 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/resources/dev-ui/qwc-sonataflow-quarkus-devui.js
@@ -18,7 +18,7 @@
  */
 
 import { html, LitElement } from "lit";
-import { dataIndexUrl, devUIUrl, extensionBasePath, openapiPath } from 
"build-time-data";
+import { dataIndexUrl, devUIUrl, extensionBasePath, openapiPath, 
isLocalCluster } from "build-time-data";
 import { RouterController } from "router-controller";
 
 export class QwcSonataflowQuarkusDevui extends LitElement {
@@ -61,6 +61,7 @@ export class QwcSonataflowQuarkusDevui extends LitElement {
       openApiBaseUrl: `${devUIUrl ?? window.location.origin}`,
       openApiPath: `${openapiPath ?? "q/openapi.json"}`,
       availablePages: ["Workflows", "Monitoring", "CustomDashboard"],
+      isLocalCluster: isLocalCluster ?? false,
     });
   }
 }
diff --git 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java
 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java
index 5282a273b6e..7a7c50673ea 100644
--- 
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java
+++ 
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/rpc/SonataFlowQuarkusExtensionJsonRPCService.java
@@ -46,10 +46,14 @@ public class SonataFlowQuarkusExtensionJsonRPCService {
 
     public static final String ALL_WORKFLOWS_IDS_QUERY = "{ \"operationName\": 
\"getAllProcessesIds\", \"query\": \"query getAllProcessesIds{  
ProcessInstances{ id } }\" }";
 
+    public static final String IS_LOCAL_CLUSTER = 
"sonataflow.devui.isLocalCluster";
+
     private WebClient dataIndexWebClient;
 
     private final Vertx vertx;
 
+    private boolean isLocalCluster;
+
     @Inject
     public SonataFlowQuarkusExtensionJsonRPCService(Vertx vertx) {
         this.vertx = vertx;
@@ -57,8 +61,12 @@ public class SonataFlowQuarkusExtensionJsonRPCService {
 
     @PostConstruct
     public void init() {
-        Optional<String> dataIndexURL = 
ConfigProvider.getConfig().getOptionalValue(DATA_INDEX_URL, String.class);
-        dataIndexURL.ifPresent(this::initDataIndexWebClient);
+        //temporary, set isLocalCluster always true since sonataflow-dev-ui 
works in k8s cluster.
+        isLocalCluster = 
ConfigProvider.getConfig().getOptionalValue(IS_LOCAL_CLUSTER, 
Boolean.class).orElse(true);
+        if (!isLocalCluster) {
+            Optional<String> dataIndexURL = 
ConfigProvider.getConfig().getOptionalValue(DATA_INDEX_URL, String.class);
+            dataIndexURL.ifPresent(this::initDataIndexWebClient);
+        }
     }
 
     private void initDataIndexWebClient(String dataIndexURL) {
@@ -82,6 +90,10 @@ public class SonataFlowQuarkusExtensionJsonRPCService {
     }
 
     private Uni<String> doQuery(String query, String graphModelName) {
+        if (isLocalCluster) {
+            LOGGER.info("Workflows count in the Workflows card is disabled for 
local cluster mode");
+            return Uni.createFrom().item("-");
+        }
         if(dataIndexWebClient == null) {
             LOGGER.warn("Cannot perform '{}' query, dataIndexWebClient 
couldn't be set. Is DataIndex correctly? Please verify '{}' value", 
graphModelName, DATA_INDEX_URL);
             return Uni.createFrom().item("-");


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to