cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sylv...@apache.org
Subject svn commit: r227228 - in /cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location: LocatedException.java LocatedRuntimeException.java
Date Wed, 03 Aug 2005 14:27:14 GMT
Author: sylvain
Date: Wed Aug  3 07:27:11 2005
New Revision: 227228

URL: http://svn.apache.org/viewcvs?rev=227228&view=rev
Log:
Refactor Ugo's null sanity check, and factorize getMessage() that was duplicated

Modified:
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedException.java
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedRuntimeException.java

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedException.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedException.java?rev=227228&r1=227227&r2=227228&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedException.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedException.java
Wed Aug  3 07:27:11 2005
@@ -60,17 +60,30 @@
         return super.getMessage();
     }
 
-    public String getMessage() {
-        if (this.locations == null) {
-            return super.getMessage();
+    /**
+     * Standard way of building the message of a {@link LocatableException}, as a Java-like
+     * stack trace of locations.
+     * 
+     * @param message the exception's message, given by <code>super.getMessage()</code>
(can be null)
+     * @param locations the location list (can be null)
+     * 
+     * @return the message, or <code>null</code> no message and locations were
given.
+     */
+    public static String getMessage(String message, List locations) {
+        if (locations == null || locations.isEmpty()) {
+            return message;
         }
 
         // Produce a Java-like stacktrace with locations
-        StringBuffer buf = new StringBuffer(super.getMessage());
+        StringBuffer buf = message == null ? new StringBuffer() : new StringBuffer(message);
         for (int i = 0; i < locations.size(); i++) {
             buf.append("\n\tat ").append(locations.get(i));
         }
         return buf.toString();
+    }
+
+    public String getMessage() {
+        return getMessage(super.getMessage(), locations);
     }
     
     public void addLocation(Location loc) {

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedRuntimeException.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedRuntimeException.java?rev=227228&r1=227227&r2=227228&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedRuntimeException.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/util/location/LocatedRuntimeException.java
Wed Aug  3 07:27:11 2005
@@ -61,16 +61,7 @@
     }
 
     public String getMessage() {
-        if (this.locations == null || super.getMessage() == null) {
-            return super.getMessage();
-        }
-
-        // Produce a Java-like stacktrace with locations
-        StringBuffer buf = new StringBuffer(super.getMessage());
-        for (int i = 0; i < locations.size(); i++) {
-            buf.append("\n\tat ").append(locations.get(i));
-        }
-        return buf.toString();
+        return LocatedException.getMessage(super.getMessage(), locations);
     }
     
     public void addLocation(Location loc) {



Mime
View raw message