Author: oheger
Date: Sun May 11 17:50:37 2014
New Revision: 1593831

URL: http://svn.apache.org/r1593831
Log:
Method configure() in FileBasedConfigurationBuilder is now overridden.

The return type has been changed to FileBasedConfigurationBuilder. This
simplifies the creation of builder objects because now method chaining is
possible retaining the return type.

Modified:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
    
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedConfigurationBuilder.java

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java?rev=1593831&r1=1593830&r2=1593831&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/FileBasedConfigurationBuilder.java
 Sun May 11 17:50:37 2014
@@ -186,6 +186,17 @@ public class FileBasedConfigurationBuild
     }
 
     /**
+     * {@inheritDoc} This method is overridden here to change the result type.
+     */
+    @Override
+    public FileBasedConfigurationBuilder<T> configure(
+            BuilderParameters... params)
+    {
+        super.configure(params);
+        return this;
+    }
+
+    /**
      * Returns the {@code FileHandler} associated with this builder. If already
      * a result object has been created, this {@code FileHandler} can be used 
to
      * save it. Otherwise, the {@code FileHandler} from the initialization

Modified: 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedConfigurationBuilder.java?rev=1593831&r1=1593830&r2=1593831&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedConfigurationBuilder.java
 (original)
+++ 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestFileBasedConfigurationBuilder.java
 Sun May 11 17:50:37 2014
@@ -122,8 +122,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(1);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         PropertiesConfiguration config = builder.getConfiguration();
         assertEquals("Not read from file", 1, config.getInt(PROP));
         assertSame("FileHandler not initialized", config, builder
@@ -140,8 +141,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(1);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         PropertiesConfiguration config = builder.getConfiguration();
         builder.resetResult();
         PropertiesConfiguration config2 = builder.getConfiguration();
@@ -159,8 +161,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(1);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         builder.getConfiguration();
         FileLocator locator = builder.getFileHandler().getFileLocator();
         assertTrue("Not fully defined: " + locator,
@@ -178,8 +181,9 @@ public class TestFileBasedConfigurationB
         File file2 = createTestFile(2);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file1));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file1));
         builder.getConfiguration();
         builder.getFileHandler().setFile(file2);
         builder.resetResult();
@@ -197,8 +201,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(1);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         builder.getConfiguration();
         builder.reset();
         PropertiesConfiguration config = builder.getConfiguration();
@@ -218,8 +223,9 @@ public class TestFileBasedConfigurationB
         File file2 = createTestFile(2);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file1));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file1));
         builder.getConfiguration();
         builder.getFileHandler().setFile(file2);
         builder.reset();
@@ -286,8 +292,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(1);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         PropertiesConfiguration config = builder.getConfiguration();
         config.setProperty(PROP, 5);
         builder.save();
@@ -320,8 +327,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(0);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         assertFalse("Wrong auto save flag", builder.isAutoSave());
         builder.setAutoSave(true);
         assertTrue("Auto save not enabled", builder.isAutoSave());
@@ -341,8 +349,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(0);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         PropertiesConfiguration config1 = builder.getConfiguration();
         builder.setAutoSave(true);
         builder.resetResult();
@@ -362,8 +371,9 @@ public class TestFileBasedConfigurationB
         File file = createTestFile(0);
         FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                 new FileBasedConfigurationBuilder<PropertiesConfiguration>(
-                        PropertiesConfiguration.class);
-        builder.configure(new FileBasedBuilderParametersImpl().setFile(file));
+                        PropertiesConfiguration.class)
+                        .configure(new FileBasedBuilderParametersImpl()
+                                .setFile(file));
         PropertiesConfiguration config = builder.getConfiguration();
         builder.setAutoSave(true);
         config.setProperty(PROP, 1);


Reply via email to