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

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


The following commit(s) were added to refs/heads/camel-main by this push:
     new 0a46a57a2f Fix couchdb in native mode
0a46a57a2f is described below

commit 0a46a57a2f027a5e0bcdcf5f174d561f37e8c710
Author: James Netherton <jamesnether...@gmail.com>
AuthorDate: Mon Jun 24 09:47:36 2024 +0100

    Fix couchdb in native mode
---
 .../couchdb/deployment/CouchdbProcessor.java       | 29 ++++++++++++++--------
 .../quarkus/component/couchdb/it/CouchbIT.java     |  2 --
 2 files changed, 19 insertions(+), 12 deletions(-)

diff --git 
a/extensions/couchdb/deployment/src/main/java/org/apache/camel/quarkus/component/couchdb/deployment/CouchdbProcessor.java
 
b/extensions/couchdb/deployment/src/main/java/org/apache/camel/quarkus/component/couchdb/deployment/CouchdbProcessor.java
index 3a6cbffa2c..431ac39f0d 100644
--- 
a/extensions/couchdb/deployment/src/main/java/org/apache/camel/quarkus/component/couchdb/deployment/CouchdbProcessor.java
+++ 
b/extensions/couchdb/deployment/src/main/java/org/apache/camel/quarkus/component/couchdb/deployment/CouchdbProcessor.java
@@ -16,14 +16,17 @@
  */
 package org.apache.camel.quarkus.component.couchdb.deployment;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.jboss.jandex.ClassInfo;
+import org.jboss.jandex.DotName;
 
 class CouchdbProcessor {
 
@@ -35,18 +38,24 @@ class CouchdbProcessor {
     }
 
     @BuildStep
-    List<ReflectiveClassBuildItem> registerReflectiveClasses() {
-        List<ReflectiveClassBuildItem> items = new 
ArrayList<ReflectiveClassBuildItem>();
-        
items.add(ReflectiveClassBuildItem.builder("org.lightcouch.Response").fields().build());
-        
items.add(ReflectiveClassBuildItem.builder("org.lightcouch.CouchDbInfo").fields().build());
-        
items.add(ReflectiveClassBuildItem.builder("org.lightcouch.ChangesResult$Row").fields().build());
-        
items.add(ReflectiveClassBuildItem.builder("org.lightcouch.ChangesResult$Row$Rev").fields().build());
-        return items;
+    void registerReflectiveClasses(
+            CombinedIndexBuildItem combinedIndex,
+            BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
+        Set<String> modelClasses = combinedIndex.getIndex()
+                
.getClassesInPackage(DotName.createSimple("com.ibm.cloud.cloudant.v1.model"))
+                .stream()
+                .map(ClassInfo::name)
+                .map(DotName::toString)
+                .collect(Collectors.toUnmodifiableSet());
+
+        
reflectiveClass.produce(ReflectiveClassBuildItem.builder(modelClasses.toArray(new
 String[0]))
+                .fields(true)
+                .build());
     }
 
     @BuildStep
     void addDependenciesToIndexer(BuildProducer<IndexDependencyBuildItem> 
indexDependencyProducer) {
-        indexDependencyProducer.produce(new 
IndexDependencyBuildItem("com.google.code.gson", "gson"));
+        indexDependencyProducer.produce(new 
IndexDependencyBuildItem("com.ibm.cloud", "cloudant"));
     }
 
 }
diff --git 
a/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
 
b/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
index 187f8cb0fe..5c7623a316 100644
--- 
a/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
+++ 
b/integration-tests/couchdb/src/test/java/org/apache/camel/quarkus/component/couchdb/it/CouchbIT.java
@@ -17,9 +17,7 @@
 package org.apache.camel.quarkus.component.couchdb.it;
 
 import io.quarkus.test.junit.QuarkusIntegrationTest;
-import org.junit.jupiter.api.Disabled;
 
-@Disabled("https://github.com/apache/camel-quarkus/issues/6198";)
 @QuarkusIntegrationTest
 class CouchbIT extends CouchdbTest {
 

Reply via email to