Skip to content

Commit

Permalink
Regen
Browse files Browse the repository at this point in the history
  • Loading branch information
davsclaus committed Jan 28, 2025
1 parent 8ac4ee9 commit 0fb153a
Show file tree
Hide file tree
Showing 6 changed files with 289 additions and 32 deletions.

Large diffs are not rendered by default.

57 changes: 57 additions & 0 deletions components-starter/camel-solr-starter/src/main/docs/solr.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,80 @@
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
"defaultValue": true
},
{
"name": "camel.component.solr.connection-timeout",
"type": "java.lang.Long",
"description": "The time in ms to wait before connection will time out.",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
"defaultValue": 60000
},
{
"name": "camel.component.solr.customizer.enabled",
"type": "java.lang.Boolean",
"sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
},
{
"name": "camel.component.solr.default-collection",
"type": "java.lang.String",
"description": "Solr default collection name",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
},
{
"name": "camel.component.solr.enable-s-s-l",
"type": "java.lang.Boolean",
"description": "Enable SSL",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
"defaultValue": false
},
{
"name": "camel.component.solr.enabled",
"type": "java.lang.Boolean",
"description": "Whether to enable auto configuration of the solr component. This is enabled by default.",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
},
{
"name": "camel.component.solr.host",
"type": "java.lang.String",
"description": "The solr instance host name",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
},
{
"name": "camel.component.solr.lazy-start-producer",
"type": "java.lang.Boolean",
"description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
"defaultValue": false
},
{
"name": "camel.component.solr.password",
"type": "java.lang.String",
"description": "Password for authenticating",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
},
{
"name": "camel.component.solr.port",
"type": "java.lang.Integer",
"description": "The solr instance port number",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
},
{
"name": "camel.component.solr.request-timeout",
"type": "java.lang.Long",
"description": "The timeout in ms to wait before the socket will time out.",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
"defaultValue": 600000
},
{
"name": "camel.component.solr.solr-client",
"type": "org.apache.solr.client.solrj.SolrClient",
"description": "To use an existing configured solr client, instead of creating a client per endpoint. This allows customizing the client with specific advanced settings. The option is a org.apache.solr.client.solrj.SolrClient type.",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
},
{
"name": "camel.component.solr.username",
"type": "java.lang.String",
"description": "Basic authenticate user",
"sourceType": "org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
}
],
"hints": []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
@Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
@EnableConfigurationProperties({ComponentConfigurationProperties.class,SolrComponentConfiguration.class})
@ConditionalOnHierarchicalProperties({"camel.component", "camel.component.solr"})
@AutoConfigureAfter(CamelAutoConfiguration.class)
@AutoConfigureAfter({CamelAutoConfiguration.class, SolrComponentConverter.class})
public class SolrComponentAutoConfiguration {

@Autowired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package org.apache.camel.component.solr.springboot;

import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
import org.apache.solr.client.solrj.SolrClient;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
Expand All @@ -34,6 +35,18 @@ public class SolrComponentConfiguration
* enabled by default.
*/
private Boolean enabled;
/**
* The time in ms to wait before connection will time out.
*/
private Long connectionTimeout = 60000L;
/**
* Solr default collection name
*/
private String defaultCollection;
/**
* The solr instance host name
*/
private String host;
/**
* Whether the producer should be started lazy (on the first message). By
* starting lazy you can use this to allow CamelContext and routes to
Expand All @@ -45,6 +58,14 @@ public class SolrComponentConfiguration
* and prolong the total processing time of the processing.
*/
private Boolean lazyStartProducer = false;
/**
* The solr instance port number
*/
private Integer port;
/**
* The timeout in ms to wait before the socket will time out.
*/
private Long requestTimeout = 600000L;
/**
* Whether autowiring is enabled. This is used for automatic autowiring
* options (the option must be marked as autowired) by looking up in the
Expand All @@ -54,6 +75,48 @@ public class SolrComponentConfiguration
* etc.
*/
private Boolean autowiredEnabled = true;
/**
* To use an existing configured solr client, instead of creating a client
* per endpoint. This allows customizing the client with specific advanced
* settings. The option is a org.apache.solr.client.solrj.SolrClient type.
*/
private SolrClient solrClient;
/**
* Enable SSL
*/
private Boolean enableSSL = false;
/**
* Password for authenticating
*/
private String password;
/**
* Basic authenticate user
*/
private String username;

public Long getConnectionTimeout() {
return connectionTimeout;
}

public void setConnectionTimeout(Long connectionTimeout) {
this.connectionTimeout = connectionTimeout;
}

public String getDefaultCollection() {
return defaultCollection;
}

public void setDefaultCollection(String defaultCollection) {
this.defaultCollection = defaultCollection;
}

public String getHost() {
return host;
}

public void setHost(String host) {
this.host = host;
}

public Boolean getLazyStartProducer() {
return lazyStartProducer;
Expand All @@ -63,11 +126,59 @@ public void setLazyStartProducer(Boolean lazyStartProducer) {
this.lazyStartProducer = lazyStartProducer;
}

public Integer getPort() {
return port;
}

public void setPort(Integer port) {
this.port = port;
}

public Long getRequestTimeout() {
return requestTimeout;
}

public void setRequestTimeout(Long requestTimeout) {
this.requestTimeout = requestTimeout;
}

public Boolean getAutowiredEnabled() {
return autowiredEnabled;
}

public void setAutowiredEnabled(Boolean autowiredEnabled) {
this.autowiredEnabled = autowiredEnabled;
}

public SolrClient getSolrClient() {
return solrClient;
}

public void setSolrClient(SolrClient solrClient) {
this.solrClient = solrClient;
}

public Boolean getEnableSSL() {
return enableSSL;
}

public void setEnableSSL(Boolean enableSSL) {
this.enableSSL = enableSSL;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.camel.component.solr.springboot;

import java.util.LinkedHashSet;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.converter.GenericConverter;
import org.springframework.stereotype.Component;

/**
* Generated by camel-package-maven-plugin - do not edit this file!
*/
@Configuration(proxyBeanMethods = false)
@ConfigurationPropertiesBinding
@Component
public class SolrComponentConverter implements GenericConverter {

@Autowired
private ApplicationContext applicationContext;

public Set<ConvertiblePair> getConvertibleTypes() {
Set<ConvertiblePair> answer = new LinkedHashSet<>();
answer.add(new ConvertiblePair(String.class, org.apache.solr.client.solrj.SolrClient.class));
return answer;
}

public Object convert(
Object source,
TypeDescriptor sourceType,
TypeDescriptor targetType) {
if (source == null) {
return null;
}
String ref = source.toString();
if (!ref.startsWith("#")) {
return null;
}
ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
switch (targetType.getName()) {
case "org.apache.solr.client.solrj.SolrClient": return applicationContext.getBean(ref, org.apache.solr.client.solrj.SolrClient.class);
}
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@
## limitations under the License.
## ---------------------------------------------------------------------------

org.apache.camel.component.solr.springboot.SolrComponentAutoConfiguration
org.apache.camel.component.solr.springboot.SolrComponentAutoConfiguration
org.apache.camel.component.solr.springboot.SolrComponentConverter

0 comments on commit 0fb153a

Please sign in to comment.