You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by po...@apache.org on 2024/05/31 08:58:04 UTC

(incubator-kie-kogito-runtimes) branch main updated: incubator-kie-issues#1283: Fix Kogito Addons Quarkus Data Index `DevMode` (#3540)

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

porcelli pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new 47e5732991 incubator-kie-issues#1283: Fix Kogito Addons Quarkus Data Index `DevMode` (#3540)
47e5732991 is described below

commit 47e57329910867a37d949cbe6b5b58e2daba6f44
Author: Pere Fernández <pe...@users.noreply.github.com>
AuthorDate: Fri May 31 10:58:00 2024 +0200

    incubator-kie-issues#1283: Fix Kogito Addons Quarkus Data Index `DevMode` (#3540)
---
 .../deployment/KogitoDevServicesProcessor.java     | 32 +++++++++++++++-------
 .../ServerlessWorkflowDevServicesProcessor.java    | 32 +++++++++++++++-------
 .../deployment/AbstractDevServicesProcessor.java   |  2 +-
 3 files changed, 45 insertions(+), 21 deletions(-)

diff --git a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java
index 05fb6777d5..51e9b5b090 100644
--- a/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java
+++ b/quarkus/extensions/kogito-quarkus-processes-extension/kogito-quarkus-processes-deployment/src/main/java/org/kie/kogito/quarkus/processes/deployment/KogitoDevServicesProcessor.java
@@ -27,6 +27,7 @@ import org.kie.kogito.quarkus.workflow.deployment.config.KogitoWorkflowBuildTime
 
 import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
 import io.quarkus.arc.processor.DotNames;
+import io.quarkus.deployment.Capabilities;
 import io.quarkus.deployment.IsDevelopment;
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
@@ -36,6 +37,8 @@ import io.quarkus.deployment.dev.devservices.GlobalDevServicesConfig;
 import io.quarkus.devui.spi.page.CardPageBuildItem;
 import io.quarkus.devui.spi.page.Page;
 
+import static org.kie.kogito.quarkus.workflow.devservices.DataIndexEventPublisher.KOGITO_DATA_INDEX;
+
 /**
  * Starts a Data Index as dev service if needed.
  */
@@ -49,16 +52,25 @@ public class KogitoDevServicesProcessor extends AbstractDevServicesProcessor {
     }
 
     @BuildStep(onlyIf = { GlobalDevServicesConfig.Enabled.class, IsDevelopment.class })
-    CardPageBuildItem createDevUILink(List<SystemPropertyBuildItem> systemPropertyBuildItems) {
-        Optional<String> dataindex_url_prop = getProperty(systemPropertyBuildItems, "kogito.data-index.url");
-        if (dataindex_url_prop.isPresent()) {
-            CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
-            cardPageBuildItem.addPage(Page.externalPageBuilder("Data Index GraphQL UI")
-                    .url(dataindex_url_prop.get() + "/q/graphql-ui/")
-                    .isHtmlContent()
-                    .icon("font-awesome-solid:signs-post"));
-            return cardPageBuildItem;
+    CardPageBuildItem createDataIndexDevUILink(Capabilities capabilities,
+            KogitoWorkflowBuildTimeConfig kogitoBuildTimeConfig,
+            List<SystemPropertyBuildItem> systemPropertyBuildItems) {
+
+        Optional<String> dataIndexUrlProp = getProperty(systemPropertyBuildItems, KOGITO_DATA_INDEX);
+
+        if (capabilities.isPresent(DATA_INDEX_CAPABILITY) || !areDevServicesEnabled(kogitoBuildTimeConfig) || dataIndexUrlProp.isEmpty()) {
+            return null;
         }
-        return null;
+
+        CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
+        cardPageBuildItem.addPage(Page.externalPageBuilder("Data Index GraphQL UI")
+                .url(dataIndexUrlProp.get() + "/q/graphql-ui/")
+                .isHtmlContent()
+                .icon("font-awesome-solid:signs-post"));
+        return cardPageBuildItem;
+    }
+
+    private boolean areDevServicesEnabled(KogitoWorkflowBuildTimeConfig kogitoBuildTimeConfig) {
+        return kogitoBuildTimeConfig.devservices.enabled.orElse(true);
     }
 }
diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java
index 02cba0f8d7..31d86e51a5 100644
--- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java
+++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowDevServicesProcessor.java
@@ -27,6 +27,7 @@ import org.kie.kogito.serverless.workflow.devservices.DevModeServerlessWorkflowL
 
 import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
 import io.quarkus.arc.processor.DotNames;
+import io.quarkus.deployment.Capabilities;
 import io.quarkus.deployment.IsDevelopment;
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
@@ -36,6 +37,8 @@ import io.quarkus.deployment.dev.devservices.GlobalDevServicesConfig;
 import io.quarkus.devui.spi.page.CardPageBuildItem;
 import io.quarkus.devui.spi.page.Page;
 
+import static org.kie.kogito.quarkus.workflow.devservices.DataIndexEventPublisher.KOGITO_DATA_INDEX;
+
 public class ServerlessWorkflowDevServicesProcessor extends AbstractDevServicesProcessor {
     @BuildStep
     public void logger(BuildProducer<AdditionalBeanBuildItem> additionalBean, LaunchModeBuildItem launchMode, KogitoWorkflowBuildTimeConfig config) {
@@ -45,16 +48,25 @@ public class ServerlessWorkflowDevServicesProcessor extends AbstractDevServicesP
     }
 
     @BuildStep(onlyIf = { GlobalDevServicesConfig.Enabled.class, IsDevelopment.class })
-    CardPageBuildItem createDevUILink(List<SystemPropertyBuildItem> systemPropertyBuildItems) {
-        Optional<String> dataindex_url_prop = getProperty(systemPropertyBuildItems, "kogito.data-index.url");
-        if (dataindex_url_prop.isPresent()) {
-            CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
-            cardPageBuildItem.addPage(Page.externalPageBuilder("Data Index GraphQL UI")
-                    .url(dataindex_url_prop.get() + "/q/graphql-ui/")
-                    .isHtmlContent()
-                    .icon("font-awesome-solid:signs-post"));
-            return cardPageBuildItem;
+    CardPageBuildItem createDataIndexDevUILink(Capabilities capabilities,
+            KogitoWorkflowBuildTimeConfig kogitoBuildTimeConfig,
+            List<SystemPropertyBuildItem> systemPropertyBuildItems) {
+
+        Optional<String> dataIndexUrlProp = getProperty(systemPropertyBuildItems, KOGITO_DATA_INDEX);
+
+        if (capabilities.isPresent(DATA_INDEX_CAPABILITY) || !areDevServicesEnabled(kogitoBuildTimeConfig) || dataIndexUrlProp.isEmpty()) {
+            return null;
         }
-        return null;
+
+        CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
+        cardPageBuildItem.addPage(Page.externalPageBuilder("Data Index GraphQL UI")
+                .url(dataIndexUrlProp.get() + "/q/graphql-ui/")
+                .isHtmlContent()
+                .icon("font-awesome-solid:signs-post"));
+        return cardPageBuildItem;
+    }
+
+    private boolean areDevServicesEnabled(KogitoWorkflowBuildTimeConfig kogitoBuildTimeConfig) {
+        return kogitoBuildTimeConfig.devservices.enabled.orElse(true);
     }
 }
diff --git a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java
index 6bbb90352c..7517da1c86 100644
--- a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java
+++ b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/AbstractDevServicesProcessor.java
@@ -60,7 +60,7 @@ public abstract class AbstractDevServicesProcessor {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractDevServicesProcessor.class);
     private static final ContainerLocator LOCATOR = new ContainerLocator(DataIndexInMemoryContainer.DEV_SERVICE_LABEL, DataIndexInMemoryContainer.PORT);
-    private static final String DATA_INDEX_CAPABILITY = "org.kie.kogito.data-index";
+    protected static final String DATA_INDEX_CAPABILITY = "org.kie.kogito.data-index";
     static Closeable closeable;
     static DataIndexDevServiceConfig cfg;
     static volatile boolean first = true;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org