You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2022/10/31 19:06:01 UTC

[camel-karavan] branch main updated: Fix isssue with infinispan-embedded

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

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


The following commit(s) were added to refs/heads/main by this push:
     new fad17be  Fix isssue with infinispan-embedded
fad17be is described below

commit fad17be322fc5b0ea77e1def9f1423d881fe9ea0
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Mon Oct 31 15:05:53 2022 -0400

    Fix isssue with infinispan-embedded
---
 .github/workflows/app.yml                          | 23 ++++++++++++++++-
 karavan-app/pom.xml                                | 15 ++++++-----
 .../camel/karavan/service/InfinispanService.java   | 30 ++++++++++------------
 3 files changed, 43 insertions(+), 25 deletions(-)

diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml
index 89d25f9..a52e9bb 100644
--- a/.github/workflows/app.yml
+++ b/.github/workflows/app.yml
@@ -16,8 +16,25 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
+      #  Checkout infinispan-quarkus
+      - name: Checkout infinispan-quarkus repo
+        uses: actions/checkout@v3
+        with:
+          repository: git@github.com:infinispan/infinispan-quarkus.git
+          path: infinispan-quarkus
+          ref: 13.0.11.Final
+
+      #  Build infinispan-quarkus
+      - name: Build application public
+        working-directory: ./infinispan-quarkus
+        run: |
+          mvn clean install -DskipTests -f embedded
+      
+      #  Checkout Karavan
       - name: Checkout
         uses: actions/checkout@v3
+        with:
+          path: karavan
 
       #  Generate Karavan UI model and API, Kamelets and Components
       - name: Set up JDK 11
@@ -36,6 +53,7 @@ jobs:
           restore-keys: ${{ runner.os }}-maven-
 
       - name: Generate Karavan UI model and API, Kamelets and Components
+        working-directory: ./karavan
         run: |
           mvn clean compile exec:java -f karavan-generator \
           -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator"
@@ -47,11 +65,12 @@ jobs:
           node-version: '17'
 
       - name: Karavan Core install
-        working-directory: ./karavan-core
+        working-directory: ./karavan/karavan-core
         run: npm install
 
       #  Build Karavan cloud app with public access
       - name: Build application public
+        working-directory: ./karavan
         run: |
           mvn package -f karavan-app -Dquarkus.profile=public -DskipTest \
           -Dquarkus.container-image.build=true \
@@ -63,6 +82,7 @@ jobs:
 
       #  Build Karavan cloud app with basic authorization
       - name: Build application basic auth
+        working-directory: ./karavan
         run: |
           mvn package -f karavan-app -Dquarkus.profile=basic -DskipTest \
           -Dquarkus.container-image.build=true \
@@ -74,6 +94,7 @@ jobs:
 
       #  Build Karavan cloud app with oidc authorization
       - name: Build application oidc
+        working-directory: ./karavan
         run: |
           mvn package -f karavan-app -Dquarkus.profile=oidc -DskipTest \
           -Dquarkus.container-image.build=true \
diff --git a/karavan-app/pom.xml b/karavan-app/pom.xml
index fe26899..efb2b7c 100644
--- a/karavan-app/pom.xml
+++ b/karavan-app/pom.xml
@@ -42,6 +42,13 @@
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
+            <dependency>
+                <groupId>org.infinispan</groupId>
+                <artifactId>infinispan-quarkus-bom</artifactId>
+                <version>13.0.11.Final</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
     <dependencies>
@@ -113,13 +120,7 @@
         </dependency>
         <dependency>
             <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-core</artifactId>
-            <version>13.0.11.Final</version>
-        </dependency>
-        <dependency>
-            <groupId>org.infinispan</groupId>
-            <artifactId>infinispan-query</artifactId>
-            <version>13.0.11.Final</version>
+            <artifactId>infinispan-quarkus-embedded</artifactId>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
index fabd74c..0103894 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
@@ -114,6 +114,7 @@ public class InfinispanService {
             camelStatuses = cacheManager.administration().getOrCreateCache(CamelStatus.CACHE, new XMLStringConfiguration(String.format(CACHE_CONFIG, CamelStatus.CACHE)));
             kamelets = cacheManager.administration().getOrCreateCache(Kamelet.CACHE, new XMLStringConfiguration(String.format(CACHE_CONFIG, Kamelet.CACHE)));
         }
+//        org.hibernate.search.engine.search.loading.spi.EntityLoader
     }
 
     private void cleanData() {
@@ -143,10 +144,9 @@ public class InfinispanService {
 
     public List<ProjectFile> getProjectFiles(String projectId) {
         if (cacheManager == null) {
-            QueryFactory queryFactory = org.infinispan.query.Search.getQueryFactory((Cache<?, ?>) files);
-            return queryFactory.<ProjectFile>create("FROM org.apache.camel.karavan.model.ProjectFile WHERE projectId = :projectId")
-                    .setParameter("projectId", projectId)
-                    .execute().list();
+            return files.values().stream()
+                    .filter(f -> f.getProjectId().equals(projectId))
+                    .collect(Collectors.toList());
         } else {
             QueryFactory queryFactory = Search.getQueryFactory((RemoteCache<?, ?>) files);
             return queryFactory.<ProjectFile>create("FROM karavan.ProjectFile WHERE projectId = :projectId")
@@ -205,10 +205,9 @@ public class InfinispanService {
 
     public List<DeploymentStatus> getDeploymentStatuses(String env) {
         if (cacheManager == null) {
-            QueryFactory queryFactory = org.infinispan.query.Search.getQueryFactory((Cache<?, ?>) deploymentStatuses);
-            return queryFactory.<DeploymentStatus>create("FROM org.apache.camel.karavan.model.DeploymentStatus WHERE env = :env")
-                    .setParameter("env", env)
-                    .execute().list();
+            return  deploymentStatuses.values().stream()
+                    .filter(s -> s.getEnv().equals(env))
+                    .collect(Collectors.toList());
         } else {
             QueryFactory queryFactory = Search.getQueryFactory((RemoteCache<?, ?>) deploymentStatuses);
             return queryFactory.<DeploymentStatus>create("FROM karavan.DeploymentStatus WHERE env = :env")
@@ -231,11 +230,9 @@ public class InfinispanService {
 
     public List<PodStatus> getPodStatuses(String projectId, String env) {
         if (cacheManager == null) {
-            QueryFactory queryFactory = org.infinispan.query.Search.getQueryFactory((Cache<?, ?>) podStatuses);
-            return queryFactory.<PodStatus>create("FROM org.apache.camel.karavan.model.PodStatus WHERE deployment = :deployment AND env = :env")
-                    .setParameter("deployment", projectId)
-                    .setParameter("env", env)
-                    .execute().list();
+            return podStatuses.values().stream()
+                    .filter(s -> s.getEnv().equals(env) && s.getDeployment().equals(projectId))
+                    .collect(Collectors.toList());
         } else {
             QueryFactory queryFactory = Search.getQueryFactory((RemoteCache<?, ?>) podStatuses);
             return queryFactory.<PodStatus>create("FROM karavan.PodStatus WHERE deployment = :deployment AND env = :env")
@@ -247,10 +244,9 @@ public class InfinispanService {
 
     public List<PodStatus> getPodStatuses(String env) {
         if (cacheManager == null) {
-            QueryFactory queryFactory = org.infinispan.query.Search.getQueryFactory((Cache<?, ?>) podStatuses);
-            return queryFactory.<PodStatus>create("FROM org.apache.camel.karavan.model.PodStatus WHERE env = :env")
-                    .setParameter("env", env)
-                    .execute().list();
+            return podStatuses.values().stream()
+                    .filter(s -> s.getEnv().equals(env))
+                    .collect(Collectors.toList());
         } else {
             QueryFactory queryFactory = Search.getQueryFactory((RemoteCache<?, ?>) podStatuses);
             return queryFactory.<PodStatus>create("FROM karavan.PodStatus WHERE env = :env")