[jboss-svn-commits] JBL Code SVN: r35764 - in labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src: main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 27 09:01:25 EDT 2010


Author: velias
Date: 2010-10-27 09:01:24 -0400 (Wed, 27 Oct 2010)
New Revision: 35764

Modified:
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfig.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FishEyeCallException.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRACallException.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfigTest.java
Log:
Improved exception handling on FISHEYE calls - messages in exception now contains FishEye key used on call

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfig.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfig.java	2010-10-27 09:43:20 UTC (rev 35763)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfig.java	2010-10-27 13:01:24 UTC (rev 35764)
@@ -74,4 +74,45 @@
     this.path = StringUtils.trimToNull(path);
   }
 
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder();
+    sb.append(getName());
+    if (getPath() != null) {
+      sb.append(":").append(getPath());
+    }
+    return sb.toString();
+  }
+
+  @Override
+  public int hashCode() {
+    final int prime = 31;
+    int result = 1;
+    result = prime * result + ((name == null) ? 0 : name.hashCode());
+    result = prime * result + ((path == null) ? 0 : path.hashCode());
+    return result;
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    if (this == obj)
+      return true;
+    if (obj == null)
+      return false;
+    if (getClass() != obj.getClass())
+      return false;
+    FishEyeRepositoryConfig other = (FishEyeRepositoryConfig) obj;
+    if (name == null) {
+      if (other.name != null)
+        return false;
+    } else if (!name.equals(other.name))
+      return false;
+    if (path == null) {
+      if (other.path != null)
+        return false;
+    } else if (!path.equals(other.path))
+      return false;
+    return true;
+  }
+
 }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java	2010-10-27 09:43:20 UTC (rev 35763)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java	2010-10-27 13:01:24 UTC (rev 35764)
@@ -132,16 +132,17 @@
       int statusCode = client.executeMethod(method);
 
       if (statusCode != HttpStatus.SC_OK) {
-        throw new FishEyeCallException("Http code: " + method.getStatusCode() + " and message: "
+        throw new FishEyeCallException("HTTP code: " + method.getStatusCode() + " and message: "
             + method.getStatusLine());
       }
 
       return processResponse(method.getResponseBody());
 
     } catch (FishEyeCallException e) {
+      e.setFeKey(id);
       throw e;
     } catch (Exception e) {
-      throw new FishEyeCallException(e);
+      throw new FishEyeCallException(id, e);
     } finally {
       method.releaseConnection();
     }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FishEyeCallException.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FishEyeCallException.java	2010-10-27 09:43:20 UTC (rev 35763)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FishEyeCallException.java	2010-10-27 13:01:24 UTC (rev 35764)
@@ -1,5 +1,7 @@
 package org.jboss.community.sbs.plugin.reports.monthly.valuesource;
 
+import org.jboss.community.sbs.plugin.reports.monthly.config.FishEyeRepositoryConfig;
+
 /**
  * Exception used when FISHEYE call fails.
  * 
@@ -8,29 +10,65 @@
 public class FishEyeCallException extends Exception {
 
   /**
-   * @param message
-   * @param cause
+   * FISHEYE Key call failed for.
    */
-  public FishEyeCallException(String message, Throwable cause) {
-    super(formatMessage(message), cause);
-  }
+  private FishEyeRepositoryConfig feKey = null;
 
   /**
    * @param message
    */
   public FishEyeCallException(String message) {
-    super(formatMessage(message));
+    super(message);
   }
 
   /**
    * @param cause
    */
   public FishEyeCallException(Throwable cause) {
-    super(formatMessage(cause != null ? cause.getMessage() : "Unknown cause"), cause);
+    super(cause);
   }
 
-  private static String formatMessage(String message) {
-    return "FISHEYE HTTP call failed: " + (message != null ? message : "");
+  /**
+   * @param feKey FISHEYE Key call failed for.
+   * @param cause
+   */
+  public FishEyeCallException(FishEyeRepositoryConfig feKey, Throwable cause) {
+    super(cause);
+    setFeKey(feKey);
   }
 
+  /**
+   * @return the feKey
+   */
+  public FishEyeRepositoryConfig getFeKey() {
+    return feKey;
+  }
+
+  /**
+   * Set FISHEYE Key call failed for.
+   * 
+   * @param feKey the feKey to set
+   */
+  public void setFeKey(FishEyeRepositoryConfig feKey) {
+    this.feKey = feKey;
+  }
+
+  @Override
+  public String getMessage() {
+
+    StringBuilder sb = new StringBuilder();
+    sb.append("FISHEYE HTTP call failed");
+
+    if (feKey != null) {
+      sb.append(" for key ").append(feKey);
+    }
+
+    String message = super.getMessage();
+    if (message != null) {
+      sb.append(": ").append(message);
+    }
+
+    return sb.toString();
+  }
+
 }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRACallException.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRACallException.java	2010-10-27 09:43:20 UTC (rev 35763)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRACallException.java	2010-10-27 13:01:24 UTC (rev 35764)
@@ -9,28 +9,30 @@
 
   /**
    * @param message
-   * @param cause
    */
-  public JIRACallException(String message, Throwable cause) {
-    super(formatMessage(message), cause);
-  }
-
-  /**
-   * @param message
-   */
   public JIRACallException(String message) {
-    super(formatMessage(message));
+    super(message);
   }
 
   /**
    * @param cause
    */
   public JIRACallException(Throwable cause) {
-    super(formatMessage(cause != null ? cause.getMessage() : "Unknown cause"), cause);
+    super(cause);
   }
 
-  private static String formatMessage(String message) {
-    return "JIRA HTTP call failed: " + (message != null ? message : "");
+  @Override
+  public String getMessage() {
+
+    StringBuilder sb = new StringBuilder();
+    sb.append("JIRA HTTP call failed");
+
+    String message = super.getMessage();
+    if (message != null) {
+      sb.append(": ").append(message);
+    }
+
+    return sb.toString();
   }
 
 }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java	2010-10-27 09:43:20 UTC (rev 35763)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java	2010-10-27 13:01:24 UTC (rev 35764)
@@ -152,7 +152,7 @@
       int statusCode = client.executeMethod(method);
 
       if (statusCode != HttpStatus.SC_OK) {
-        throw new JIRACallException("Http code: " + method.getStatusCode() + " and message: " + method.getStatusLine());
+        throw new JIRACallException("HTTP code: " + method.getStatusCode() + " and message: " + method.getStatusLine());
       }
 
       return processResponse(method.getResponseBody());

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfigTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfigTest.java	2010-10-27 09:43:20 UTC (rev 35763)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/FishEyeRepositoryConfigTest.java	2010-10-27 13:01:24 UTC (rev 35764)
@@ -98,4 +98,63 @@
     Assert.assertEquals("REPO", tested.getName());
   }
 
+  @Test
+  public void testToString() {
+    FishEyeRepositoryConfig tested = new FishEyeRepositoryConfig("ORG");
+
+    Assert.assertEquals("ORG", tested.toString());
+
+    tested.setPath("/path");
+    Assert.assertEquals("ORG:/path", tested.toString());
+
+  }
+
+  @Test
+  public void testHashCode() {
+
+    FishEyeRepositoryConfig tested1a = new FishEyeRepositoryConfig("ORG");
+    FishEyeRepositoryConfig tested1b = new FishEyeRepositoryConfig("ORG");
+
+    // repo name only tests
+    Assert.assertEquals(tested1a.hashCode(), tested1b.hashCode());
+
+    // repo and path
+    tested1a.setPath("/path");
+    tested1b.setPath("/path");
+    Assert.assertEquals(tested1a.hashCode(), tested1b.hashCode());
+  }
+
+  @Test
+  public void testEquals() {
+    FishEyeRepositoryConfig tested1a = new FishEyeRepositoryConfig("ORG");
+    FishEyeRepositoryConfig tested1b = new FishEyeRepositoryConfig("ORG");
+    FishEyeRepositoryConfig tested2 = new FishEyeRepositoryConfig("ORG1");
+
+    Assert.assertFalse(tested1a.equals(null));
+    Assert.assertFalse(tested1a.equals("ORG"));
+
+    // repo name only tests
+    Assert.assertTrue(tested1a.equals(tested1b));
+    Assert.assertTrue(tested1b.equals(tested1a));
+    Assert.assertTrue(tested1a.equals(tested1a));
+    Assert.assertFalse(tested1a.equals(tested2));
+    Assert.assertFalse(tested2.equals(tested1a));
+
+    // repo and path tests
+    tested1a.setPath("/path");
+    Assert.assertFalse(tested1a.equals(null));
+    Assert.assertTrue(tested1a.equals(tested1a));
+
+    Assert.assertFalse(tested1a.equals(tested1b));
+    Assert.assertFalse(tested1b.equals(tested1a));
+
+    tested1b.setPath("/path2");
+    Assert.assertFalse(tested1a.equals(tested1b));
+    Assert.assertFalse(tested1b.equals(tested1a));
+
+    tested1b.setPath("/path");
+    Assert.assertTrue(tested1a.equals(tested1b));
+    Assert.assertTrue(tested1b.equals(tested1a));
+  }
+
 }



More information about the jboss-svn-commits mailing list