This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch mock in repository https://gitbox.apache.org/repos/asf/camel.git
commit f559083b3d81152571a9ed08f528da04250e5838 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Apr 17 09:07:58 2019 +0200 Move mock component out of camel-core. Work in progress. --- .../springboot/MockComponentAutoConfiguration.java | 128 --------------------- .../springboot/MockComponentConfiguration.java | 55 --------- .../src/main/resources/META-INF/spring.factories | 1 - 3 files changed, 184 deletions(-) diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/mock/springboot/MockComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/mock/springboot/MockComponentAutoConfiguration.java deleted file mode 100644 index 2de4611..0000000 --- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/mock/springboot/MockComponentAutoConfiguration.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * 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.mock.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.mock.MockComponent; -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.support.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, - MockComponentAutoConfiguration.GroupConditions.class}) -@AutoConfigureAfter(CamelAutoConfiguration.class) -@EnableConfigurationProperties({ComponentConfigurationProperties.class, - MockComponentConfiguration.class}) -public class MockComponentAutoConfiguration { - - private static final Logger LOGGER = LoggerFactory - .getLogger(MockComponentAutoConfiguration.class); - @Autowired - private ApplicationContext applicationContext; - @Autowired - private CamelContext camelContext; - @Autowired - private MockComponentConfiguration configuration; - @Autowired(required = false) - private List<ComponentCustomizer<MockComponent>> customizers; - - static class GroupConditions extends GroupCondition { - public GroupConditions() { - super("camel.component", "camel.component.mock"); - } - } - - @Lazy - @Bean(name = "mock-component") - @ConditionalOnMissingBean(MockComponent.class) - public MockComponent configureMockComponent() throws Exception { - MockComponent component = new MockComponent(); - 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<MockComponent> customizer : customizers) { - boolean useCustomizer = (customizer instanceof HasId) - ? HierarchicalPropertiesEvaluator.evaluate( - applicationContext.getEnvironment(), - "camel.component.customizer", - "camel.component.mock.customizer", - ((HasId) customizer).getId()) - : HierarchicalPropertiesEvaluator.evaluate( - applicationContext.getEnvironment(), - "camel.component.customizer", - "camel.component.mock.customizer"); - if (useCustomizer) { - LOGGER.debug("Configure component {}, with customizer {}", - component, customizer); - customizer.customize(component); - } - } - } - return component; - } -} \ No newline at end of file diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/mock/springboot/MockComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/mock/springboot/MockComponentConfiguration.java deleted file mode 100644 index 1d05918..0000000 --- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/mock/springboot/MockComponentConfiguration.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * 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.mock.springboot; - -import javax.annotation.Generated; -import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * The mock component is used for testing routes and mediation rules using - * mocks. - * - * Generated by camel-package-maven-plugin - do not edit this file! - */ -@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo") -@ConfigurationProperties(prefix = "camel.component.mock") -public class MockComponentConfiguration - extends - ComponentConfigurationPropertiesCommon { - - /** - * Whether to enable auto configuration of the mock component. This is - * enabled by default. - */ - private Boolean enabled; - /** - * 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 Boolean getResolvePropertyPlaceholders() { - return resolvePropertyPlaceholders; - } - - public void setResolvePropertyPlaceholders( - Boolean resolvePropertyPlaceholders) { - this.resolvePropertyPlaceholders = resolvePropertyPlaceholders; - } -} \ No newline at end of file diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories b/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories index 6b115e9..b2d9c0d 100644 --- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories +++ b/platforms/spring-boot/components-starter/camel-core-starter/src/main/resources/META-INF/spring.factories @@ -17,7 +17,6 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.apache.camel.component.bean.springboot.BeanComponentAutoConfiguration,\ org.apache.camel.component.beanclass.springboot.ClassComponentAutoConfiguration,\ -org.apache.camel.component.mock.springboot.MockComponentAutoConfiguration,\ org.apache.camel.impl.springboot.GzipDataFormatAutoConfiguration,\ org.apache.camel.impl.springboot.SerializationDataFormatAutoConfiguration,\ org.apache.camel.impl.springboot.StringDataFormatAutoConfiguration,\