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 <[email protected]>
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 {