You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by an...@apache.org on 2015/11/12 01:25:06 UTC
[2/2] incubator-tamaya git commit: Added Spring tests and ensured a
minimal implementation.
Added Spring tests and ensured a minimal implementation.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/6fab0f93
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/6fab0f93
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/6fab0f93
Branch: refs/heads/master
Commit: 6fab0f93223056c5de48b07759e230ccbaae7002
Parents: 043a3e6
Author: anatole <an...@apache.org>
Authored: Thu Nov 12 01:24:52 2015 +0100
Committer: anatole <an...@apache.org>
Committed: Thu Nov 12 01:24:52 2015 +0100
----------------------------------------------------------------------
.../SpringConfigInjectionPostProcessor.java | 3 ++
.../integration/spring/TamayaEnvironment.java | 18 ++++++++
.../integration/spring/TamayaSpringConfig.java | 10 +++-
.../spring/TamayaSpringPropertySource.java | 1 +
.../spring/ConfiguredSpringBean.java | 10 ++++
.../integration/spring/SpringConfigTest2.java | 48 ++++++++++++++++++++
.../META-INF/javaconfiguration.properties | 3 +-
.../test/resources/spring-config-scanOnly.xml | 35 ++++++++++++++
.../spring/src/test/resources/spring-config.xml | 2 -
9 files changed, 126 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/SpringConfigInjectionPostProcessor.java
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/SpringConfigInjectionPostProcessor.java b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/SpringConfigInjectionPostProcessor.java
index 1193b8d..91f0047 100644
--- a/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/SpringConfigInjectionPostProcessor.java
+++ b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/SpringConfigInjectionPostProcessor.java
@@ -21,10 +21,13 @@ package org.apache.tamaya.integration.spring;
import org.apache.tamaya.inject.ConfigurationInjection;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
/**
* PostProcessor that performs injection of configured values using Tamaya {@link ConfigurationInjection}.
*/
+@Component
public class SpringConfigInjectionPostProcessor implements BeanPostProcessor{
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaEnvironment.java
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaEnvironment.java b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaEnvironment.java
new file mode 100644
index 0000000..6f3214f
--- /dev/null
+++ b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaEnvironment.java
@@ -0,0 +1,18 @@
+package org.apache.tamaya.integration.spring;
+
+import org.springframework.core.env.MapPropertySource;
+import org.springframework.core.env.MutablePropertySources;
+import org.springframework.core.env.StandardEnvironment;
+import org.springframework.core.env.SystemEnvironmentPropertySource;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by atsticks on 12.11.15.
+ */
+public class TamayaEnvironment extends StandardEnvironment{
+
+ protected void customizePropertySources(MutablePropertySources propertySources) {
+ super.customizePropertySources(propertySources);
+ propertySources.addLast(new TamayaSpringPropertySource());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringConfig.java
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringConfig.java b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringConfig.java
index e3adf3f..15e616e 100644
--- a/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringConfig.java
+++ b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringConfig.java
@@ -24,6 +24,9 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.core.env.MutablePropertySources;
+import org.springframework.core.env.PropertySources;
+import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@@ -31,6 +34,7 @@ import javax.annotation.PostConstruct;
* Spring Configuration Bean adding {@link TamayaSpringPropertySource} to the current
* {@link org.springframework.core.env.Environment}.
*/
+@Component
@Configuration
public class TamayaSpringConfig {
@@ -44,6 +48,10 @@ public class TamayaSpringConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer placeHolderConfigurer() {
- return new PropertySourcesPlaceholderConfigurer();
+ PropertySourcesPlaceholderConfigurer cfgBean = new PropertySourcesPlaceholderConfigurer();
+ MutablePropertySources sources = new MutablePropertySources();
+ sources.addFirst(new TamayaSpringPropertySource());
+ cfgBean.setPropertySources(sources);
+ return cfgBean;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringPropertySource.java
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringPropertySource.java b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringPropertySource.java
index 2e8ac1c..cb85a2a 100644
--- a/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringPropertySource.java
+++ b/modules/integration/spring/src/main/java/org/apache/tamaya/integration/spring/TamayaSpringPropertySource.java
@@ -21,6 +21,7 @@ package org.apache.tamaya.integration.spring;
import org.apache.tamaya.ConfigurationProvider;
import org.springframework.core.env.PropertySource;
+import org.springframework.stereotype.Component;
/**
* Spring PropertySource bridging to Tamaya {@link org.apache.tamaya.Configuration}.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/ConfiguredSpringBean.java
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/ConfiguredSpringBean.java b/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/ConfiguredSpringBean.java
index 95b10ef..b926233 100644
--- a/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/ConfiguredSpringBean.java
+++ b/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/ConfiguredSpringBean.java
@@ -30,6 +30,8 @@ import org.springframework.core.env.Environment;
@ConfigDefaultSections
public class ConfiguredSpringBean {
+ private String message;
+
@Autowired
private Environment env;
@@ -51,4 +53,12 @@ public class ConfiguredSpringBean {
public Environment getEnv(){
return env;
}
+
+ public void setMessage(String message){
+ this.message = message;
+ }
+
+ public String getMessage() {
+ return message;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/SpringConfigTest2.java
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/SpringConfigTest2.java b/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/SpringConfigTest2.java
new file mode 100644
index 0000000..d59ae0d
--- /dev/null
+++ b/modules/integration/spring/src/test/java/org/apache/tamaya/integration/spring/SpringConfigTest2.java
@@ -0,0 +1,48 @@
+/*
+ * 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.tamaya.integration.spring;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * Test using standard Spring setup.
+ */
+public class SpringConfigTest2 {
+
+ @Test
+ public void assertDefaultSetup(){
+ ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-config-scanOnly.xml");
+ ConfiguredSpringBean configuredBean = context.getBean(ConfiguredSpringBean.class);
+ assertNotNull(configuredBean.getJavaVersion());
+ assertEquals(System.getProperty("java.version"), configuredBean.getJavaVersion());
+ org.springframework.core.env.Environment env;
+ assertNotNull(configuredBean.getMessage());
+ assertEquals("value2", configuredBean.getMessage());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/test/resources/META-INF/javaconfiguration.properties
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/test/resources/META-INF/javaconfiguration.properties b/modules/integration/spring/src/test/resources/META-INF/javaconfiguration.properties
index 3a7cba7..3366128 100644
--- a/modules/integration/spring/src/test/resources/META-INF/javaconfiguration.properties
+++ b/modules/integration/spring/src/test/resources/META-INF/javaconfiguration.properties
@@ -16,4 +16,5 @@
# specific language governing permissions and limitations
# under the License.
#
-myConfiguredValue=value11
\ No newline at end of file
+myConfiguredValue=value11
+propertyValue=value2
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/test/resources/spring-config-scanOnly.xml
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/test/resources/spring-config-scanOnly.xml b/modules/integration/spring/src/test/resources/spring-config-scanOnly.xml
new file mode 100644
index 0000000..6e98d80
--- /dev/null
+++ b/modules/integration/spring/src/test/resources/spring-config-scanOnly.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 current 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.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+ <context:annotation-config />
+ <context:component-scan base-package="org.apache.tamaya.integration.spring"/>
+
+ <!-- Our dependencies -->
+ <!--<bean id="tamayaInjectionProcessor" name="tamayaInjectionProcessor" class="org.apache.tamaya.integration.spring.SpringConfigInjectionPostProcessor"/>-->
+ <!--<bean id="tamayaConfigProvider" name="tamayaConfigProvider" class="org.apache.tamaya.integration.spring.TamayaSpringConfig"/>-->
+ <bean id="configuredBean" name="configuredBean" class="org.apache.tamaya.integration.spring.ConfiguredSpringBean">
+ <property name="message" value="${propertyValue}"/>
+ </bean>
+
+</beans>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/6fab0f93/modules/integration/spring/src/test/resources/spring-config.xml
----------------------------------------------------------------------
diff --git a/modules/integration/spring/src/test/resources/spring-config.xml b/modules/integration/spring/src/test/resources/spring-config.xml
index 1978ab9..fc3f9d8 100644
--- a/modules/integration/spring/src/test/resources/spring-config.xml
+++ b/modules/integration/spring/src/test/resources/spring-config.xml
@@ -22,8 +22,6 @@ under the License.
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
- <context:annotation-config />
- <context:component-scan base-package="org.apache.tamaya.integration.spring"/>
<!-- Our dependencies -->
<bean id="tamayaInjectionProcessor" name="tamayaInjectionProcessor" class="org.apache.tamaya.integration.spring.SpringConfigInjectionPostProcessor"/>