You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2010/06/19 21:47:48 UTC

svn commit: r956279 - in /commons/proper/collections/trunk/src/java/org/apache/commons/collections: BufferOverflowException.java BufferUnderflowException.java FunctorException.java

Author: bayard
Date: Sat Jun 19 19:47:48 2010
New Revision: 956279

URL: http://svn.apache.org/viewvc?rev=956279&view=rev
Log:
Simplifying exceptions now that cause is in the parent. Patch from Sebb in COLLECTIONS-336

Modified:
    commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferOverflowException.java
    commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferUnderflowException.java
    commons/proper/collections/trunk/src/java/org/apache/commons/collections/FunctorException.java

Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferOverflowException.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferOverflowException.java?rev=956279&r1=956278&r2=956279&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferOverflowException.java (original)
+++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferOverflowException.java Sat Jun 19 19:47:48 2010
@@ -34,15 +34,11 @@ public class BufferOverflowException ext
     /** Serialization version */
     private static final long serialVersionUID = -3992254982265755876L;
 
-    /** The root cause throwable */
-    private final Throwable throwable;
-
     /**
      * Constructs a new <code>BufferOverflowException</code>.
      */
     public BufferOverflowException() {
         super();
-        throwable = null;
     }
 
     /** 
@@ -61,18 +57,7 @@ public class BufferOverflowException ext
      * @param exception  the root cause of the exception
      */
     public BufferOverflowException(String message, Throwable exception) {
-        super(message);
-        throwable = exception;
+        super(message, exception);
     }
 
-    /**
-     * Gets the root cause of the exception.
-     *
-     * @return the root cause
-     */
-    @Override
-    public final Throwable getCause() {
-        return throwable;
-    }
-    
 }

Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferUnderflowException.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferUnderflowException.java?rev=956279&r1=956278&r2=956279&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferUnderflowException.java (original)
+++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/BufferUnderflowException.java Sat Jun 19 19:47:48 2010
@@ -35,17 +35,13 @@ import java.util.NoSuchElementException;
 public class BufferUnderflowException extends NoSuchElementException {
     
     /** Serialization version */
-    private static final long serialVersionUID = 4054570024234606028L;
-
-    /** The root cause throwable */
-    private final Throwable throwable;
+    private static final long serialVersionUID = 7106567570467436893L;
 
     /**
      * Constructs a new <code>BufferUnderflowException</code>.
      */
     public BufferUnderflowException() {
         super();
-        throwable = null;
     }
 
     /** 
@@ -54,7 +50,7 @@ public class BufferUnderflowException ex
      * @param message  the detail message for this exception
      */
     public BufferUnderflowException(String message) {
-        this(message, null);
+        super(message);
     }
 
     /** 
@@ -65,17 +61,7 @@ public class BufferUnderflowException ex
      */
     public BufferUnderflowException(String message, Throwable exception) {
         super(message);
-        throwable = exception;
+        initCause(exception);
     }
 
-    /**
-     * Gets the root cause of the exception.
-     *
-     * @return the root cause
-     */
-    @Override
-    public final Throwable getCause() {
-        return throwable;
-    }
-    
 }

Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/FunctorException.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/FunctorException.java?rev=956279&r1=956278&r2=956279&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/java/org/apache/commons/collections/FunctorException.java (original)
+++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/FunctorException.java Sat Jun 19 19:47:48 2010
@@ -16,9 +16,6 @@
  */
 package org.apache.commons.collections;
 
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
 /**
  * Runtime exception thrown from functors.
  * If required, a root cause error can be wrapped within this one.
@@ -31,28 +28,7 @@ import java.io.PrintWriter;
 public class FunctorException extends RuntimeException {
     
     /** Serialization version */
-    private static final long serialVersionUID = 9139387246344345475L;
-
-    /**
-     * Does JDK support nested exceptions
-     */
-    private static final boolean JDK_SUPPORTS_NESTED;
-
-    static {
-        boolean flag = false;
-        try {
-            Throwable.class.getDeclaredMethod("getCause", new Class[0]);
-            flag = true;
-        } catch (NoSuchMethodException ex) {
-            flag = false;
-        }
-        JDK_SUPPORTS_NESTED = flag;
-    }
-
-    /**
-     * Root cause of the exception
-     */
-    private final Throwable rootCause;
+    private static final long serialVersionUID = -4704772662059351193L;
 
     /**
      * Constructs a new <code>FunctorException</code> without specified
@@ -60,7 +36,6 @@ public class FunctorException extends Ru
      */
     public FunctorException() {
         super();
-        this.rootCause = null;
     }
 
     /**
@@ -71,7 +46,6 @@ public class FunctorException extends Ru
      */
     public FunctorException(String msg) {
         super(msg);
-        this.rootCause = null;
     }
 
     /**
@@ -82,8 +56,7 @@ public class FunctorException extends Ru
      *                   to be thrown.
      */
     public FunctorException(Throwable rootCause) {
-        super((rootCause == null ? null : rootCause.getMessage()));
-        this.rootCause = rootCause;
+        super(rootCause);
     }
 
     /**
@@ -95,53 +68,7 @@ public class FunctorException extends Ru
      *                   to be thrown.
      */
     public FunctorException(String msg, Throwable rootCause) {
-        super(msg);
-        this.rootCause = rootCause;
-    }
-
-    /**
-     * Gets the cause of this throwable.
-     * 
-     * @return  the cause of this throwable, or <code>null</code>
-     */
-    public Throwable getCause() {
-        return rootCause;
-    }
-
-    /**
-     * Prints the stack trace of this exception to the standard error stream.
-     */
-    public void printStackTrace() {
-        printStackTrace(System.err);
-    }
-
-    /**
-     * Prints the stack trace of this exception to the specified stream.
-     *
-     * @param out  the <code>PrintStream</code> to use for output
-     */
-    public void printStackTrace(PrintStream out) {
-        synchronized (out) {
-            PrintWriter pw = new PrintWriter(out, false);
-            printStackTrace(pw);
-            // Flush the PrintWriter before it's GC'ed.
-            pw.flush();
-        }
-    }
-
-    /**
-     * Prints the stack trace of this exception to the specified writer.
-     *
-     * @param out  the <code>PrintWriter</code> to use for output
-     */
-    public void printStackTrace(PrintWriter out) {
-        synchronized (out) {
-            super.printStackTrace(out);
-            if (rootCause != null && JDK_SUPPORTS_NESTED == false) {
-                out.print("Caused by: ");
-                rootCause.printStackTrace(out);
-            }
-        }
+        super(msg, rootCause);
     }
 
 }