Skip to content

Commit

Permalink
Configure elasticsearch-rest-client using component options
Browse files Browse the repository at this point in the history
Fixes #6172
  • Loading branch information
jamesnetherton committed Jul 22, 2024
1 parent 8cdc3a1 commit b6526f9
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,49 +17,42 @@
package org.apache.camel.quarkus.component.elasticsearch.rest.client.it;

import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation;

import static org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation.*;
import static org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation.CREATE_INDEX;
import static org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation.DELETE;
import static org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation.DELETE_INDEX;
import static org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation.GET_BY_ID;
import static org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation.INDEX_OR_UPDATE;
import static org.apache.camel.component.elasticsearch.rest.client.ElasticsearchRestClientOperation.SEARCH;

public class ElasticsearchRestClientRoutes extends RouteBuilder {
@Override
public void configure() {
from("direct:createIndex")
.to(elasticsearchRestClient(CREATE_INDEX));
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", CREATE_INDEX);

from("direct:createIndexSettings")
.to(elasticsearchRestClient(CREATE_INDEX));
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", CREATE_INDEX);

from("direct:delete")
.to(elasticsearchRestClient(DELETE));
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", DELETE);

from("direct:deleteIndex")
.to(elasticsearchRestClient(DELETE_INDEX));
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", DELETE_INDEX);

from("direct:get")
.to(elasticsearchRestClient(GET_BY_ID))
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", GET_BY_ID)
.convertBodyTo(String.class)
.unmarshal().json(Document.class);

from("direct:index")
.marshal().json()
.to(elasticsearchRestClient(INDEX_OR_UPDATE));
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", INDEX_OR_UPDATE);

from("direct:search")
.to(elasticsearchRestClient(SEARCH));
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", SEARCH);

from("direct:searchQuery")
.to(elasticsearchRestClient(SEARCH));
.toF("elasticsearch-rest-client:camel-quarkus?operation=%s", SEARCH);
}

private String elasticsearchRestClient(ElasticsearchRestClientOperation operation) {
return "elasticsearch-rest-client:camel-quarkus" +
"?operation=" + operation +
"&hostAddressesList={{camel.elasticsearch-rest-client.host-addresses-list}}" +
"&user={{camel.elasticsearch-rest-client.user}}" +
"&password={{camel.elasticsearch-rest-client.password}}" +
"&certificatePath={{camel.elasticsearch-rest-client.cert}}" +
"&enableSniffer=true";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,12 @@ public Map<String, String> start() {
container.start();
String hostAddresses = String.format("%s:%s", container.getHost(), container.getMappedPort(ELASTICSEARCH_PORT));

// TODO: Replace this in future with component options
// https://issues.apache.org/jira/browse/CAMEL-20846
return CollectionHelper.mapOf(
"camel.elasticsearch-rest-client.host-addresses-list", hostAddresses,
"camel.elasticsearch-rest-client.user", ELASTICSEARCH_USERNAME,
"camel.elasticsearch-rest-client.password", ELASTICSEARCH_PASSWORD,
"camel.elasticsearch-rest-client.cert", "file:target/certs/ca.crt");
"camel.component.elasticsearch-rest-client.host-addresses-list", hostAddresses,
"camel.component.elasticsearch-rest-client.user", ELASTICSEARCH_USERNAME,
"camel.component.elasticsearch-rest-client.password", ELASTICSEARCH_PASSWORD,
"camel.component.elasticsearch-rest-client.certificatePath", "file:target/certs/ca.crt",
"camel.component.elasticsearch-rest-client.enableSniffer", "true");

} catch (Exception e) {
throw new RuntimeException(e);
Expand Down

0 comments on commit b6526f9

Please sign in to comment.