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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to