Added ConfigurationFilter tests and fixes.

Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/98980d03
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/98980d03
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/98980d03

Branch: refs/heads/master
Commit: 98980d032ae27882eb3c8d507d29ab30c33f79b3
Parents: 1aefa98
Author: anatole <anat...@apache.org>
Authored: Sat Feb 13 01:21:40 2016 +0100
Committer: Oliver B. Fischer <ple...@apache.org>
Committed: Fri Sep 30 21:29:37 2016 +0200

----------------------------------------------------------------------
 .../tamaya/filter/ConfigurationFilter.java      |  4 +-
 .../tamaya/filter/ProgrammableFilter.java       |  9 ++-
 .../org.apache.tamaya.spi.PropertyFilter        |  3 +-
 .../tamaya/filter/ConfigurationFilterTest.java  | 85 +++++++++++++++++---
 4 files changed, 85 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/98980d03/src/main/java/org/apache/tamaya/filter/ConfigurationFilter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tamaya/filter/ConfigurationFilter.java 
b/src/main/java/org/apache/tamaya/filter/ConfigurationFilter.java
index b5bb45e..b33ff27 100644
--- a/src/main/java/org/apache/tamaya/filter/ConfigurationFilter.java
+++ b/src/main/java/org/apache/tamaya/filter/ConfigurationFilter.java
@@ -108,11 +108,11 @@ public final class ConfigurationFilter implements 
PropertyFilter{
     @Override
     public String filterProperty(String valueToBeFiltered, FilterContext 
context) {
         if(!context.isSinglePropertyScoped()){
-            for(PropertyFilter pred: THREADED_MAP_FILTERS.get().getFilters()){
+            for(PropertyFilter pred: 
THREADED_SINGLE_FILTERS.get().getFilters()){
                 valueToBeFiltered = pred.filterProperty(valueToBeFiltered, 
context);
             }
         }else{
-            for(PropertyFilter pred: 
THREADED_SINGLE_FILTERS.get().getFilters()){
+            for(PropertyFilter pred: THREADED_MAP_FILTERS.get().getFilters()){
                 valueToBeFiltered = pred.filterProperty(valueToBeFiltered, 
context);
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/98980d03/src/main/java/org/apache/tamaya/filter/ProgrammableFilter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tamaya/filter/ProgrammableFilter.java 
b/src/main/java/org/apache/tamaya/filter/ProgrammableFilter.java
index 18a7e08..ec6040c 100644
--- a/src/main/java/org/apache/tamaya/filter/ProgrammableFilter.java
+++ b/src/main/java/org/apache/tamaya/filter/ProgrammableFilter.java
@@ -61,6 +61,14 @@ public final class ProgrammableFilter implements 
PropertyFilter{
     }
 
     /**
+     * Removes a filter.
+     * @param filter the filter to be removed, not null.
+     */
+    public void removeFilter(PropertyFilter filter) {
+        filters.remove(filter);
+    }
+
+    /**
      * Clears all filters.
      */
     public void clearFilters(){
@@ -107,5 +115,4 @@ public final class ProgrammableFilter implements 
PropertyFilter{
                 '}';
     }
 
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/98980d03/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyFilter
----------------------------------------------------------------------
diff --git 
a/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyFilter 
b/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyFilter
index 630c222..806b833 100644
--- a/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyFilter
+++ b/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyFilter
@@ -16,5 +16,4 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-org.apache.tamaya.filter.ConfigurationFilter
-org.apache.tamaya.filter.DefaultMetadataFilter
\ No newline at end of file
+org.apache.tamaya.filter.ConfigurationFilter
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/98980d03/src/test/java/org/apache/tamaya/filter/ConfigurationFilterTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/tamaya/filter/ConfigurationFilterTest.java 
b/src/test/java/org/apache/tamaya/filter/ConfigurationFilterTest.java
index bbfe72d..9d0da1f 100644
--- a/src/test/java/org/apache/tamaya/filter/ConfigurationFilterTest.java
+++ b/src/test/java/org/apache/tamaya/filter/ConfigurationFilterTest.java
@@ -18,6 +18,10 @@
  */
 package org.apache.tamaya.filter;
 
+import org.apache.tamaya.Configuration;
+import org.apache.tamaya.ConfigurationProvider;
+import org.apache.tamaya.spi.FilterContext;
+import org.apache.tamaya.spi.PropertyFilter;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
@@ -28,32 +32,91 @@ import static org.junit.Assert.*;
 public class ConfigurationFilterTest {
 
     @Test
-    public void testIsMetadataFiltered() throws Exception {
-// TODO
+    public void testMetadataFiltered() throws Exception {
+        ConfigurationFilter.setMetadataFiltered(true);
+        assertTrue(ConfigurationFilter.isMetadataFiltered());
+        ConfigurationFilter.setMetadataFiltered(false);
+        assertFalse(ConfigurationFilter.isMetadataFiltered());
     }
 
     @Test
-    public void testSetMetadataFiltered() throws Exception {
-// TODO
+    public void testGetSingleFilters() throws Exception {
+        Configuration config = ConfigurationProvider.getConfiguration();
+        assertNotNull(ConfigurationFilter.getSingleFilters());
+        PropertyFilter testFilter = new PropertyFilter() {
+            @Override
+            public String filterProperty(String value, FilterContext context) {
+                return context.getKey() + ":testGetSingleFilters";
+            }
+        };
+        ConfigurationFilter.getSingleFilters().addFilter(testFilter);
+        assertEquals("user.home:testGetSingleFilters", 
config.get("user.home"));
+        ConfigurationFilter.getSingleFilters().removeFilter(testFilter);
+        assertNotSame("user.home:testGetSingleFilters", 
config.get("user.home"));
     }
 
     @Test
-    public void testGetSingleFilters() throws Exception {
-// TODO
+    public void testRemoveSingleFiltersAt0() throws Exception {
+        Configuration config = ConfigurationProvider.getConfiguration();
+        assertNotNull(ConfigurationFilter.getSingleFilters());
+        PropertyFilter testFilter = new PropertyFilter() {
+            @Override
+            public String filterProperty(String value, FilterContext context) {
+                return context.getKey() + ":testGetSingleFilters";
+            }
+        };
+        ConfigurationFilter.getSingleFilters().addFilter(testFilter);
+        assertEquals("user.home:testGetSingleFilters", 
config.get("user.home"));
+        ConfigurationFilter.getSingleFilters().removeFilter(0);
+        assertNotSame("user.home:testGetSingleFilters", 
config.get("user.home"));
     }
 
     @Test
     public void testGetMapFilters() throws Exception {
-// TODO
+        Configuration config = ConfigurationProvider.getConfiguration();
+        assertNotNull(ConfigurationFilter.getMapFilters());
+        PropertyFilter testFilter = new PropertyFilter() {
+            @Override
+            public String filterProperty(String value, FilterContext context) {
+                return context.getKey() + ":testGetMapFilters";
+            }
+        };
+        ConfigurationFilter.getMapFilters().addFilter(testFilter);
+        assertEquals("user.home:testGetMapFilters", 
config.getProperties().get("user.home"));
+        ConfigurationFilter.getSingleFilters().removeFilter(testFilter);
+        assertNotSame("user.home:testGetSingleFilters", 
config.getProperties().get("user.home"));
     }
 
     @Test
-    public void testClearFilters() throws Exception {
-// TODO
+    public void testRemoveMapFilterAt0() throws Exception {
+        Configuration config = ConfigurationProvider.getConfiguration();
+        assertNotNull(ConfigurationFilter.getMapFilters());
+        PropertyFilter testFilter = new PropertyFilter() {
+            @Override
+            public String filterProperty(String value, FilterContext context) {
+                return context.getKey() + ":testGetMapFilters";
+            }
+        };
+        ConfigurationFilter.getMapFilters().addFilter(testFilter);
+        assertEquals("user.home:testGetMapFilters", 
config.getProperties().get("user.home"));
+        ConfigurationFilter.getMapFilters().removeFilter(0);
+        assertNotSame("user.home:testGetSingleFilters", 
config.getProperties().get("user.home"));
     }
 
     @Test
-    public void testFilterProperty() throws Exception {
-// TODO
+    public void testClearFilters() throws Exception {
+        Configuration config = ConfigurationProvider.getConfiguration();
+        assertNotNull(ConfigurationFilter.getSingleFilters());
+        PropertyFilter testFilter = new PropertyFilter() {
+            @Override
+            public String filterProperty(String value, FilterContext context) {
+                return context.getKey() + ":testGetSingleFilters";
+            }
+        };
+        ConfigurationFilter.getSingleFilters().addFilter(testFilter);
+        assertEquals("user.home:testGetSingleFilters", 
config.get("user.home"));
+        ConfigurationFilter.clearFilters();
+        assertNotSame("user.home:testGetSingleFilters", 
config.get("user.home"));
     }
+
 }
\ No newline at end of file

Reply via email to