Fixed component docs
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/08e50b9f Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/08e50b9f Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/08e50b9f Branch: refs/heads/master Commit: 08e50b9f05583de826ff3d8540e172b9b0c9a69d Parents: 3195766 Author: Claus Ibsen <davscl...@apache.org> Authored: Sat Sep 9 09:51:37 2017 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sat Sep 9 09:51:37 2017 +0200 ---------------------------------------------------------------------- .../main/docs/google-bigquery-component.adoc | 24 ++-- .../bigquery/GoogleBigQueryComponent.java | 34 +++-- .../bigquery/GoogleBigQueryConfiguration.java | 8 +- .../bigquery/GoogleBigQueryConstants.java | 8 +- .../google/bigquery/GoogleBigQueryEndpoint.java | 5 +- .../google/bigquery/GoogleBigQueryProducer.java | 14 +- ...oogleBigQueryComponentAutoConfiguration.java | 129 +++++++++++++++++++ .../GoogleBigQueryComponentConfiguration.java | 91 +++++++++++++ .../main/resources/META-INF/spring.factories | 19 +++ 9 files changed, 281 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc ---------------------------------------------------------------------- diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc index d849266..6d0f3de 100644 --- a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc +++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc @@ -58,14 +58,16 @@ Service Account Email and Service Account Key can be found in the GCP JSON crede ### Options // component options: START -The Google BigQuery component supports 2 options which are listed below. +The Google BigQuery component supports 4 options which are listed below. [width="100%",cols="2,5,^1,2",options="header"] |======================================================================= | Name | Description | Default | Type -| **connectionFactory** (common) | Sets the connection factory to use: provides the ability to explicitly manage connection credentials: - the path to the key file - the Service Account Key / Email pair | | GoogleBigQueryConnection Factory +| **projectId** (producer) | Google Cloud Project Id | | String +| **datasetId** (producer) | BigQuery Dataset Id | | String +| **connectionFactory** (producer) | ConnectionFactory to obtain connection to Bigquery Service. If non provided the default one will be used | | GoogleBigQuery ConnectionFactory | **resolveProperty Placeholders** (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean |======================================================================= // component options: END @@ -73,7 +75,7 @@ The Google BigQuery component supports 2 options which are listed below. // endpoint options: START The Google BigQuery endpoint is configured using URI syntax: - google-bigquery:projectId:datasetId[:tableId] + google-bigquery:projectId:datasetId:tableName with the following path and query parameters: @@ -82,22 +84,18 @@ with the following path and query parameters: [width="100%",cols="2,5,^1,2",options="header"] |======================================================================= | Name | Description | Default | Type -| **projectId** | *Required* Project Id | | String -| **datasetId** | *Required* Dataset Id | | String -| **tableId** | Table Id. If not supplied a table name need to be set in the exchange header | | String +| **projectId** | *Required* Google Cloud Project Id | | String +| **datasetId** | *Required* BigQuery Dataset Id | | String +| **tableId** | BigQuery table id | | String |======================================================================= -#### Query Parameters (8 parameters): +#### Query Parameters (3 parameters): [width="100%",cols="2,5,^1,2",options="header"] |======================================================================= | Name | Description | Default | Type -| **connectionFactory** (common) | ConnectionFactory to obtain connection to BigQuery Service. If non provided the default will be used. | | GoogleBigQueryConnection Factory -| **loggerId** (common) | Logger ID to use when a match to the parent route required | | String -| **useAsInsertId** (producer) | Field in message to use as insert id. | | String -| **bridgeErrorHandler** (consumer) | Allows for bridging the consumer to the Camel routing Error Handler which mean any exceptions occurred while the consumer is trying to pickup incoming messages or the likes will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions that will be logged at WARN or ERROR level and ignored. | false | boolean -| **exceptionHandler** (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN or ERROR level and ignored. | | ExceptionHandler -| **exchangePattern** (consumer) | Sets the exchange pattern when the consumer creates an exchange. | | ExchangePattern +| **connectionFactory** (producer) | ConnectionFactory to obtain connection to Bigquery Service. If non provided the default will be used. | | GoogleBigQuery ConnectionFactory +| **useAsInsertId** (producer) | Field name to use as insert id | | String | **synchronous** (advanced) | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). | false | boolean |======================================================================= // endpoint options: END http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java index 6a80aa8..225f20a 100644 --- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java +++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java @@ -14,16 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.camel.component.google.bigquery; import java.util.Map; -import com.google.api.client.http.HttpTransport; -import com.google.api.client.http.javanet.NetHttpTransport; -import com.google.api.client.json.JsonFactory; -import com.google.api.client.json.jackson2.JacksonFactory; -import com.google.api.services.bigquery.Bigquery; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.impl.DefaultComponent; @@ -31,7 +25,6 @@ import org.apache.camel.impl.DefaultComponent; public class GoogleBigQueryComponent extends DefaultComponent { private String projectId; private String datasetId; - private GoogleBigQueryConnectionFactory connectionFactory; public GoogleBigQueryComponent() { @@ -62,28 +55,28 @@ public class GoogleBigQueryComponent extends DefaultComponent { return new GoogleBigQueryEndpoint(uri, this, configuration); } - public void setProjectId(String projectId) { - this.projectId = projectId; - } - - public void setDatasetId(String datasetId) { - this.datasetId = datasetId; - } - public String getProjectId() { return projectId; } + /** + * Google Cloud Project Id + */ + public void setProjectId(String projectId) { + this.projectId = projectId; + } + public String getDatasetId() { return datasetId; } /** - * Sets the connection factory to use: - * provides the ability to explicitly manage connection credentials: - * - the path to the key file - * - the Service Account Key / Email pair + * BigQuery Dataset Id */ + public void setDatasetId(String datasetId) { + this.datasetId = datasetId; + } + public GoogleBigQueryConnectionFactory getConnectionFactory() { if (connectionFactory == null) { connectionFactory = new GoogleBigQueryConnectionFactory(); @@ -91,6 +84,9 @@ public class GoogleBigQueryComponent extends DefaultComponent { return connectionFactory; } + /** + * ConnectionFactory to obtain connection to Bigquery Service. If non provided the default one will be used + */ public void setConnectionFactory(GoogleBigQueryConnectionFactory connectionFactory) { this.connectionFactory = connectionFactory; } http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java index 16f118e..e10fc80 100644 --- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java +++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java @@ -14,7 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.camel.component.google.bigquery; import org.apache.camel.spi.Metadata; @@ -24,12 +23,11 @@ import org.apache.camel.spi.UriPath; @UriParams public class GoogleBigQueryConfiguration { - @UriParam(name = "connectionFactory", description = "ConnectionFactory to obtain connection to Bigquery Service. If non provided the default one will be used") - private GoogleBigQueryConnectionFactory connectionFactory; - @UriParam(name = "useAsInsertId", description = "Field name to use as insert id") + @UriParam(description = "ConnectionFactory to obtain connection to Bigquery Service. If non provided the default one will be used") + private GoogleBigQueryConnectionFactory connectionFactory; + @UriParam(description = "Field name to use as insert id") private String useAsInsertId; - @UriPath(label = "common", description = "Google Cloud Project Id") @Metadata(required = "true") private String projectId; @UriPath(label = "common", description = "BigQuery Dataset Id") @Metadata(required = "true") http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java ---------------------------------------------------------------------- diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java index d9849ce..89d0eeb 100644 --- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java +++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java @@ -17,8 +17,8 @@ package org.apache.camel.component.google.bigquery; public interface GoogleBigQueryConstants { - String TABLE_SUFFIX = "CamelGoogleBigQuery.TableSuffix"; - String TABLE_ID = "CamelGoogleBigQuery.TableId"; - String INSERT_ID = "CamelGoogleBigQuery.InsertId"; - String PARTITION_DECORATOR = "CamelGoogleBigQuery.PartitionDecorator"; + String TABLE_SUFFIX = "CamelGoogleBigQueryTableSuffix"; + String TABLE_ID = "CamelGoogleBigQueryTableId"; + String INSERT_ID = "CamelGoogleBigQueryInsertId"; + String PARTITION_DECORATOR = "CamelGoogleBigQueryPartitionDecorator"; } http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java index 34e5d97..3b3a6a9 100644 --- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java +++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java @@ -42,12 +42,13 @@ import org.apache.camel.spi.UriParam; * Another consideration is that exceptions are not handled within the class. They are expected to bubble up and be handled * by Camel. */ -@UriEndpoint(firstVersion = "2.20.0", scheme = "bigquery", title = "BigQuery", syntax = "bigquery:projectId:datasetId:tableName", label = "cloud,messaging", producerOnly = true) +@UriEndpoint(firstVersion = "2.20.0", scheme = "google-bigquery", title = "Google BigQuery", syntax = "google-bigquery:projectId:datasetId:tableName", + label = "cloud,messaging", producerOnly = true) public class GoogleBigQueryEndpoint extends DefaultEndpoint { + @UriParam protected final GoogleBigQueryConfiguration configuration; - protected GoogleBigQueryEndpoint(String endpointUri, GoogleBigQueryComponent component, GoogleBigQueryConfiguration configuration) { super(endpointUri, component); this.configuration = configuration; http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryProducer.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryProducer.java index b2b6593..cae2684 100644 --- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryProducer.java +++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryProducer.java @@ -44,12 +44,8 @@ public class GoogleBigQueryProducer extends DefaultProducer { /** * The method converts a single incoming message into a List - * - * @param exchange - * @return */ private static List<Exchange> prepareExchangeList(Exchange exchange) { - List<Exchange> entryList; if (null == exchange.getProperty(Exchange.GROUPED_EXCHANGE)) { @@ -155,7 +151,7 @@ public class GoogleBigQueryProducer extends DefaultProducer { apiRequest.set("template_suffix", suffix); } - if (log.isDebugEnabled()) { + if (log.isTraceEnabled()) { log.trace("Sending {} messages to bigquery table {}, suffix, partition", apiRequestRows.size(), tableId, suffix, partitionDecorator); } @@ -166,11 +162,13 @@ public class GoogleBigQueryProducer extends DefaultProducer { throw new Exception("InsertAll into " + tableId + " failed: " + apiResponse.getInsertErrors()); } - if (log.isDebugEnabled()) { + if (log.isTraceEnabled()) { log.trace("Sent {} messages to bigquery table {}, suffix, partition", - apiRequestRows.size(), tableId, suffix, partitionDecorator); + apiRequestRows.size(), tableId, suffix, partitionDecorator); + } + if (log.isDebugEnabled()) { + log.debug("uploader thread/id: {} / {} . api call completed.", Thread.currentThread().getId(), exchangeId); } - log.debug("uploader thread/id: {} / {} . api call completed.", Thread.currentThread().getId(), exchangeId); return apiRequestData.size(); } http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentAutoConfiguration.java ---------------------------------------------------------------------- diff --git a/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentAutoConfiguration.java new file mode 100644 index 0000000..5c5ee2f --- /dev/null +++ b/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentAutoConfiguration.java @@ -0,0 +1,129 @@ +/** + * 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.google.bigquery.springboot; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import org.apache.camel.CamelContext; +import org.apache.camel.component.google.bigquery.GoogleBigQueryComponent; +import org.apache.camel.spi.ComponentCustomizer; +import org.apache.camel.spi.HasId; +import org.apache.camel.spring.boot.CamelAutoConfiguration; +import org.apache.camel.spring.boot.ComponentConfigurationProperties; +import org.apache.camel.spring.boot.util.CamelPropertiesHelper; +import org.apache.camel.spring.boot.util.ConditionalOnCamelContextAndAutoConfigurationBeans; +import org.apache.camel.spring.boot.util.GroupCondition; +import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator; +import org.apache.camel.util.IntrospectionSupport; +import org.apache.camel.util.ObjectHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; + +/** + * Generated by camel-package-maven-plugin - do not edit this file! + */ +@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo") +@Configuration +@Conditional({ConditionalOnCamelContextAndAutoConfigurationBeans.class, + GoogleBigQueryComponentAutoConfiguration.GroupConditions.class}) +@AutoConfigureAfter(CamelAutoConfiguration.class) +@EnableConfigurationProperties({ComponentConfigurationProperties.class, + GoogleBigQueryComponentConfiguration.class}) +public class GoogleBigQueryComponentAutoConfiguration { + + private static final Logger LOGGER = LoggerFactory + .getLogger(GoogleBigQueryComponentAutoConfiguration.class); + @Autowired + private ApplicationContext applicationContext; + @Autowired + private CamelContext camelContext; + @Autowired + private GoogleBigQueryComponentConfiguration configuration; + @Autowired(required = false) + private List<ComponentCustomizer<GoogleBigQueryComponent>> customizers; + + static class GroupConditions extends GroupCondition { + public GroupConditions() { + super("camel.component", "camel.component.google-bigquery"); + } + } + + @Lazy + @Bean(name = "google-bigquery-component") + @ConditionalOnMissingBean(GoogleBigQueryComponent.class) + public GoogleBigQueryComponent configureGoogleBigQueryComponent() + throws Exception { + GoogleBigQueryComponent component = new GoogleBigQueryComponent(); + component.setCamelContext(camelContext); + Map<String, Object> parameters = new HashMap<>(); + IntrospectionSupport.getProperties(configuration, parameters, null, + false); + for (Map.Entry<String, Object> entry : parameters.entrySet()) { + Object value = entry.getValue(); + Class<?> paramClass = value.getClass(); + if (paramClass.getName().endsWith("NestedConfiguration")) { + Class nestedClass = null; + try { + nestedClass = (Class) paramClass.getDeclaredField( + "CAMEL_NESTED_CLASS").get(null); + HashMap<String, Object> nestedParameters = new HashMap<>(); + IntrospectionSupport.getProperties(value, nestedParameters, + null, false); + Object nestedProperty = nestedClass.newInstance(); + CamelPropertiesHelper.setCamelProperties(camelContext, + nestedProperty, nestedParameters, false); + entry.setValue(nestedProperty); + } catch (NoSuchFieldException e) { + } + } + } + CamelPropertiesHelper.setCamelProperties(camelContext, component, + parameters, false); + if (ObjectHelper.isNotEmpty(customizers)) { + for (ComponentCustomizer<GoogleBigQueryComponent> customizer : customizers) { + boolean useCustomizer = (customizer instanceof HasId) + ? HierarchicalPropertiesEvaluator.evaluate( + applicationContext.getEnvironment(), + "camel.component.customizer", + "camel.component.google-bigquery.customizer", + ((HasId) customizer).getId()) + : HierarchicalPropertiesEvaluator.evaluate( + applicationContext.getEnvironment(), + "camel.component.customizer", + "camel.component.google-bigquery.customizer"); + if (useCustomizer) { + LOGGER.debug("Configure component {}, with customizer {}", + component, customizer); + customizer.customize(component); + } + } + } + return component; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentConfiguration.java ---------------------------------------------------------------------- diff --git a/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentConfiguration.java new file mode 100644 index 0000000..077c139 --- /dev/null +++ b/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentConfiguration.java @@ -0,0 +1,91 @@ +/** + * 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.google.bigquery.springboot; + +import javax.annotation.Generated; +import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * Google BigQuery data warehouse for analytics. + * + * Generated by camel-package-maven-plugin - do not edit this file! + */ +@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo") +@ConfigurationProperties(prefix = "camel.component.google-bigquery") +public class GoogleBigQueryComponentConfiguration + extends + ComponentConfigurationPropertiesCommon { + + /** + * Google Cloud Project Id + */ + private String projectId; + /** + * BigQuery Dataset Id + */ + private String datasetId; + /** + * ConnectionFactory to obtain connection to Bigquery Service. If non + * provided the default one will be used + */ + private GoogleBigQueryConnectionFactoryNestedConfiguration connectionFactory; + /** + * Whether the component should resolve property placeholders on itself when + * starting. Only properties which are of String type can use property + * placeholders. + */ + private Boolean resolvePropertyPlaceholders = true; + + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public String getDatasetId() { + return datasetId; + } + + public void setDatasetId(String datasetId) { + this.datasetId = datasetId; + } + + public GoogleBigQueryConnectionFactoryNestedConfiguration getConnectionFactory() { + return connectionFactory; + } + + public void setConnectionFactory( + GoogleBigQueryConnectionFactoryNestedConfiguration connectionFactory) { + this.connectionFactory = connectionFactory; + } + + public Boolean getResolvePropertyPlaceholders() { + return resolvePropertyPlaceholders; + } + + public void setResolvePropertyPlaceholders( + Boolean resolvePropertyPlaceholders) { + this.resolvePropertyPlaceholders = resolvePropertyPlaceholders; + } + + public static class GoogleBigQueryConnectionFactoryNestedConfiguration { + public static final Class CAMEL_NESTED_CLASS = org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory.class; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/08e50b9f/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/resources/META-INF/spring.factories ---------------------------------------------------------------------- diff --git a/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/resources/META-INF/spring.factories b/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..6f6a9e7 --- /dev/null +++ b/platforms/spring-boot/components-starter/camel-google-bigquery-starter/src/main/resources/META-INF/spring.factories @@ -0,0 +1,19 @@ +## --------------------------------------------------------------------------- +## 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. +## --------------------------------------------------------------------------- + +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.apache.camel.component.google.bigquery.springboot.GoogleBigQueryComponentAutoConfiguration