[jboss-svn-commits] JBL Code SVN: r35711 - in labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src: test/java/org/jboss/community/sbs/plugin/reports/monthly/config and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 25 09:39:11 EDT 2010


Author: velias
Date: 2010-10-25 09:39:10 -0400 (Mon, 25 Oct 2010)
New Revision: 35711

Added:
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigFileParsingException.java
Modified:
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParser.java
   labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParserTest.java
Log:
ReportConfigFileParsingException introduced

Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigFileParsingException.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigFileParsingException.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigFileParsingException.java	2010-10-25 13:39:10 UTC (rev 35711)
@@ -0,0 +1,39 @@
+package org.jboss.community.sbs.plugin.reports.monthly.config;
+
+/**
+ * Exception used when report config file parsing failed.
+ * 
+ * @author Vlastimil Elias (velias at redhat dot com)
+ */
+public class ReportConfigFileParsingException extends Exception {
+
+  /**
+   * 
+   */
+  public ReportConfigFileParsingException() {
+    super();
+  }
+
+  /**
+   * @param message
+   * @param cause
+   */
+  public ReportConfigFileParsingException(String message, Throwable cause) {
+    super(message, cause);
+  }
+
+  /**
+   * @param message
+   */
+  public ReportConfigFileParsingException(String message) {
+    super(message);
+  }
+
+  /**
+   * @param cause
+   */
+  public ReportConfigFileParsingException(Throwable cause) {
+    super(cause);
+  }
+
+}

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParser.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParser.java	2010-10-25 13:24:36 UTC (rev 35710)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParser.java	2010-10-25 13:39:10 UTC (rev 35711)
@@ -1,10 +1,8 @@
 package org.jboss.community.sbs.plugin.reports.monthly.config;
 
-import java.io.IOException;
 import java.io.InputStream;
 
 import org.apache.commons.digester.Digester;
-import org.xml.sax.SAXException;
 
 /**
  * Parser for report configuration file. Example of file:
@@ -47,44 +45,46 @@
    * 
    * @param is stream with config XML file
    * @return configuration in object representation
-   * @throws SAXException
-   * @throws IOException
+   * @throws ReportConfigFileParsingException
    */
-  public ReportConfig parseConfigFile(InputStream is) throws IOException, SAXException {
+  public ReportConfig parseConfigFile(InputStream is) throws ReportConfigFileParsingException {
+    try {
+      Digester dig = new Digester();
+      dig.setClassLoader(ReportConfig.class.getClassLoader());
+      dig.setValidating(false);
 
-    Digester dig = new Digester();
-    dig.setClassLoader(ReportConfig.class.getClassLoader());
-    dig.setValidating(false);
+      dig.addObjectCreate("projects", ReportConfig.class);
 
-    dig.addObjectCreate("projects", ReportConfig.class);
+      dig.addObjectCreate("projects/project", ProjectConfig.class);
+      dig.addSetProperties("projects/project", "name", "name");
+      dig.addSetNext("projects/project", "addProjectConfig");
 
-    dig.addObjectCreate("projects/project", ProjectConfig.class);
-    dig.addSetProperties("projects/project", "name", "name");
-    dig.addSetNext("projects/project", "addProjectConfig");
+      dig.addObjectCreate("projects/project/jira", SystemDataConfigJIRA.class);
+      dig.addSetNext("projects/project/jira", "addSystemDataConfig");
+      dig.addCallMethod("projects/project/jira/project-key", "addProjectKey", 1);
+      dig.addCallParam("projects/project/jira/project-key", 0);
 
-    dig.addObjectCreate("projects/project/jira", SystemDataConfigJIRA.class);
-    dig.addSetNext("projects/project/jira", "addSystemDataConfig");
-    dig.addCallMethod("projects/project/jira/project-key", "addProjectKey", 1);
-    dig.addCallParam("projects/project/jira/project-key", 0);
+      dig.addObjectCreate("projects/project/sbs", SystemDataConfigSBS.class);
+      dig.addSetNext("projects/project/sbs", "addSystemDataConfig");
+      dig.addCallMethod("projects/project/sbs/user/space", "addUserSpace", 1);
+      dig.addCallParam("projects/project/sbs/user/space", 0);
+      dig.addCallMethod("projects/project/sbs/dev/space", "addDevSpace", 1);
+      dig.addCallParam("projects/project/sbs/dev/space", 0);
 
-    dig.addObjectCreate("projects/project/sbs", SystemDataConfigSBS.class);
-    dig.addSetNext("projects/project/sbs", "addSystemDataConfig");
-    dig.addCallMethod("projects/project/sbs/user/space", "addUserSpace", 1);
-    dig.addCallParam("projects/project/sbs/user/space", 0);
-    dig.addCallMethod("projects/project/sbs/dev/space", "addDevSpace", 1);
-    dig.addCallParam("projects/project/sbs/dev/space", 0);
+      dig.addObjectCreate("projects/project/fisheye", SystemDataConfigFISHEYE.class);
+      dig.addSetNext("projects/project/fisheye", "addSystemDataConfig");
 
-    dig.addObjectCreate("projects/project/fisheye", SystemDataConfigFISHEYE.class);
-    dig.addSetNext("projects/project/fisheye", "addSystemDataConfig");
+      dig.addObjectCreate("projects/project/fisheye/repo", FishEyeRepositoryConfig.class);
+      dig.addSetProperties("projects/project/fisheye/repo");
+      dig.addSetNext("projects/project/fisheye/repo", "addRepository");
 
-    dig.addObjectCreate("projects/project/fisheye/repo", FishEyeRepositoryConfig.class);
-    dig.addSetProperties("projects/project/fisheye/repo");
-    dig.addSetNext("projects/project/fisheye/repo", "addRepository");
+      ReportConfig ret = (ReportConfig) dig.parse(is);
 
-    ReportConfig ret = (ReportConfig) dig.parse(is);
+      return ret;
+    } catch (Exception e) {
+      throw new ReportConfigFileParsingException("Report config file parsing error: " + e.getMessage(), e);
+    }
 
-    return ret;
-
   }
 
 }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParserTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParserTest.java	2010-10-25 13:24:36 UTC (rev 35710)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigParserTest.java	2010-10-25 13:39:10 UTC (rev 35711)
@@ -1,11 +1,9 @@
 package org.jboss.community.sbs.plugin.reports.monthly.config;
 
-import java.io.IOException;
 import java.io.InputStream;
 
 import org.junit.Assert;
 import org.junit.Test;
-import org.xml.sax.SAXException;
 
 /**
  * Unit test for {@link ReportConfigParser}.
@@ -14,9 +12,9 @@
  */
 public class ReportConfigParserTest {
 
-  protected ReportConfig parseConfigFile() throws IOException, SAXException {
+  protected ReportConfig parseConfigFile() throws Exception {
 
-    InputStream is = getClass().getResourceAsStream("/monthly_report_config.xml");
+    InputStream is = getClass().getResourceAsStream("/test_monthly_report_config.xml");
 
     ReportConfigParser cp = new ReportConfigParser();
 
@@ -25,7 +23,7 @@
   }
 
   @Test
-  public void parseConfigFile_ProjectConfig() throws IOException, SAXException {
+  public void parseConfigFile_ProjectConfig() throws Exception {
 
     ReportConfig c = parseConfigFile();
 
@@ -39,7 +37,7 @@
   }
 
   @Test
-  public void parseConfigFile_JIRAConfig() throws IOException, SAXException {
+  public void parseConfigFile_JIRAConfig() throws Exception {
 
     ReportConfig c = parseConfigFile();
 
@@ -58,7 +56,7 @@
   }
 
   @Test
-  public void parseConfigFile_SBSConfig() throws IOException, SAXException {
+  public void parseConfigFile_SBSConfig() throws Exception {
 
     ReportConfig c = parseConfigFile();
 
@@ -85,7 +83,7 @@
   }
 
   @Test
-  public void parseConfigFile_FISHEYEConfig() throws IOException, SAXException {
+  public void parseConfigFile_FISHEYEConfig() throws Exception {
 
     ReportConfig c = parseConfigFile();
 



More information about the jboss-svn-commits mailing list