Author: oheger
Date: Mon Mar 25 19:13:30 2013
New Revision: 1460852

URL: http://svn.apache.org/r1460852
Log:
Added support for VerifiableOutputStream to FileHandler.
Moved VerifiableOutputStream to io package.

Added:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VerifiableOutputStream.java
      - copied, changed from r1460459, 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VerifiableOutputStream.java
Removed:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VerifiableOutputStream.java
Modified:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractFileConfiguration.java
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java
    
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractFileConfiguration.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractFileConfiguration.java?rev=1460852&r1=1460851&r2=1460852&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractFileConfiguration.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractFileConfiguration.java
 Mon Mar 25 19:13:30 2013
@@ -31,6 +31,7 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
+import org.apache.commons.configuration.io.VerifiableOutputStream;
 import org.apache.commons.configuration.reloading.InvariantReloadingStrategy;
 import org.apache.commons.configuration.reloading.ReloadingStrategy;
 import org.apache.commons.lang.StringUtils;

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java?rev=1460852&r1=1460851&r2=1460852&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DefaultFileSystem.java
 Mon Mar 25 19:13:30 2013
@@ -27,6 +27,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
 
+import org.apache.commons.configuration.io.VerifiableOutputStream;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java?rev=1460852&r1=1460851&r2=1460852&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/FileHandler.java
 Mon Mar 25 19:13:30 2013
@@ -880,6 +880,17 @@ public class FileHandler
         {
             out = spec.getFileSystem().getOutputStream(url);
             saveToStream(out, spec.getEncoding(), url);
+            if(out instanceof VerifiableOutputStream)
+            {
+                try
+                {
+                    ((VerifiableOutputStream) out).verify();
+                }
+                catch (IOException e)
+                {
+                    throw new ConfigurationException(e);
+                }
+            }
         }
         finally
         {

Copied: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VerifiableOutputStream.java
 (from r1460459, 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VerifiableOutputStream.java)
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VerifiableOutputStream.java?p2=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VerifiableOutputStream.java&p1=commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VerifiableOutputStream.java&r1=1460459&r2=1460852&rev=1460852&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/VerifiableOutputStream.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/io/VerifiableOutputStream.java
 Mon Mar 25 19:13:30 2013
@@ -14,18 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.configuration;
+package org.apache.commons.configuration.io;
 
-import java.io.OutputStream;
 import java.io.IOException;
+import java.io.OutputStream;
 
 /**
  * OutputStream that can be checked for errors after it is written to.
  * @since 1.7
- * @author <a
- * href="http://commons.apache.org/configuration/team-list.html";>Commons 
Configuration team</a>
+ * @version $Id$
  */
-abstract class VerifiableOutputStream extends OutputStream
+public abstract class VerifiableOutputStream extends OutputStream
 {
     public abstract void verify() throws IOException;
 }

Modified: 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java?rev=1460852&r1=1460851&r2=1460852&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java
 (original)
+++ 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestPropertiesConfiguration.java
 Mon Mar 25 19:13:30 2013
@@ -52,7 +52,6 @@ import org.apache.commons.configuration.
 import 
org.apache.commons.configuration.builder.combined.CombinedConfigurationBuilder;
 import org.apache.commons.configuration.io.FileHandler;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -705,8 +704,7 @@ public class TestPropertiesConfiguration
      * Tests saving a file-based configuration to a HTTP server when the server
      * reports a failure. This should cause an exception.
      */
-    //TODO add support for VerifiableOutputStream to FileHandler
-    @Test @Ignore
+    @Test
     public void testSaveToHTTPServerFail() throws Exception
     {
         MockHttpURLStreamHandler handler = new MockHttpURLStreamHandler(


Reply via email to