You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2013/09/28 21:43:50 UTC

svn commit: r1527242 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration/builder/ test/java/org/apache/commons/configuration/builder/

Author: oheger
Date: Sat Sep 28 19:43:50 2013
New Revision: 1527242

URL: http://svn.apache.org/r1527242
Log:
Extended properties for file-based builders by FileLocationStrategy property.

The FileLocationStrategy to be used for resolving the file to be loaded can now
be specified in the builder's parameters object.

Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java?rev=1527242&r1=1527241&r2=1527242&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderParametersImpl.java Sat Sep 28 19:43:50 2013
@@ -21,6 +21,7 @@ import java.net.URL;
 import java.util.Map;
 
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileLocationStrategy;
 import org.apache.commons.configuration.io.FileSystem;
 
 /**
@@ -206,6 +207,13 @@ public class FileBasedBuilderParametersI
         return this;
     }
 
+    public FileBasedBuilderParametersImpl setLocationStrategy(
+            FileLocationStrategy strategy)
+    {
+        getFileHandler().setLocationStrategy(strategy);
+        return this;
+    }
+
     public FileBasedBuilderParametersImpl setEncoding(String enc)
     {
         getFileHandler().setEncoding(enc);

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java?rev=1527242&r1=1527241&r2=1527242&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedBuilderProperties.java Sat Sep 28 19:43:50 2013
@@ -19,6 +19,7 @@ package org.apache.commons.configuration
 import java.io.File;
 import java.net.URL;
 
+import org.apache.commons.configuration.io.FileLocationStrategy;
 import org.apache.commons.configuration.io.FileSystem;
 
 /**
@@ -106,6 +107,14 @@ public interface FileBasedBuilderPropert
     T setFileSystem(FileSystem fs);
 
     /**
+     * Sets the {@code FileLocationStrategy} for resolving the referenced file.
+     *
+     * @param strategy the {@code FileLocationStrategy}
+     * @return a reference to this object for method chaining
+     */
+    T setLocationStrategy(FileLocationStrategy strategy);
+
+    /**
      * Sets the encoding of the associated {@code FileHandler}.
      *
      * @param enc the encoding

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java?rev=1527242&r1=1527241&r2=1527242&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedBuilderParameters.java Sat Sep 28 19:43:50 2013
@@ -32,6 +32,7 @@ import org.apache.commons.beanutils.Prop
 import org.apache.commons.configuration.ConfigurationAssert;
 import org.apache.commons.configuration.io.FileBased;
 import org.apache.commons.configuration.io.FileHandler;
+import org.apache.commons.configuration.io.FileLocationStrategy;
 import org.apache.commons.configuration.io.FileSystem;
 import org.easymock.EasyMock;
 import org.junit.Test;
@@ -180,6 +181,22 @@ public class TestFileBasedBuilderParamet
     }
 
     /**
+     * Tests whether a location strategy can be set.
+     */
+    @Test
+    public void testSetLocationStrategy()
+    {
+        FileLocationStrategy strat =
+                EasyMock.createMock(FileLocationStrategy.class);
+        EasyMock.replay(strat);
+        FileBasedBuilderParametersImpl params =
+                new FileBasedBuilderParametersImpl();
+        assertSame("Wrong result", params, params.setLocationStrategy(strat));
+        assertSame("Wrong location strategy", strat, params.getFileHandler()
+                .getLocationStrategy());
+    }
+
+    /**
      * Tests whether an encoding can be set.
      */
     @Test