Author: vgritsenko
Date: Sat Aug 11 19:51:49 2007
New Revision: 564998

URL: http://svn.apache.org/viewvc?view=rev&rev=564998
Log:
remove ConfigurationException.
cleanup XindiceException, XindiceRuntimeException.
servlet should use ServletException.
DBException.faultCode should be final (since it's public)

Removed:
    
xml/xindice/trunk/java/src/org/apache/xindice/util/ConfigurationException.java
Modified:
    
xml/xindice/trunk/java/src/org/apache/xindice/client/xmldb/embed/DatabaseImpl.java
    xml/xindice/trunk/java/src/org/apache/xindice/core/DBException.java
    xml/xindice/trunk/java/src/org/apache/xindice/core/Database.java
    
xml/xindice/trunk/java/src/org/apache/xindice/core/query/TextQueryResolver.java
    
xml/xindice/trunk/java/src/org/apache/xindice/core/query/XPathQueryResolver.java
    xml/xindice/trunk/java/src/org/apache/xindice/server/ManagedServer.java
    xml/xindice/trunk/java/src/org/apache/xindice/server/XindiceServlet.java
    xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceException.java
    
xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceRuntimeException.java

Modified: 
xml/xindice/trunk/java/src/org/apache/xindice/client/xmldb/embed/DatabaseImpl.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/client/xmldb/embed/DatabaseImpl.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- 
xml/xindice/trunk/java/src/org/apache/xindice/client/xmldb/embed/DatabaseImpl.java
 (original)
+++ 
xml/xindice/trunk/java/src/org/apache/xindice/client/xmldb/embed/DatabaseImpl.java
 Sat Aug 11 19:51:49 2007
@@ -22,12 +22,14 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.xindice.client.xmldb.CommonConfigurable;
+import org.apache.xindice.core.DBException;
 import org.apache.xindice.core.Database;
+import org.apache.xindice.core.FaultCodes;
 import org.apache.xindice.server.Xindice;
 import org.apache.xindice.util.Configuration;
+import org.apache.xindice.util.ReadOnlyException;
 import org.apache.xindice.util.XindiceException;
 import org.apache.xindice.util.XindiceRuntimeException;
-import org.apache.xindice.util.ReadOnlyException;
 import org.apache.xindice.xml.dom.DOMParser;
 
 import org.xmldb.api.base.Collection;
@@ -36,8 +38,8 @@
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.IOException;
 import java.io.FileNotFoundException;
+import java.io.IOException;
 
 /**
  * Implements XML:DB's <code>Database</code> interface providing embedded 
access to
@@ -175,7 +177,11 @@
                                          "Database '" + dbName + "' not found: 
" + uri);
             }
 
-            database = Database.getDatabase(dbConfig);
+            try {
+                database = Database.getDatabase(dbConfig);
+            } catch (DBException e) {
+                throw FaultCodes.createXMLDBException(e);
+            }
             if (log.isDebugEnabled()) {
                 log.info("Mounted database: '" + database.getName() + "'");
             }

Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/DBException.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/DBException.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- xml/xindice/trunk/java/src/org/apache/xindice/core/DBException.java 
(original)
+++ xml/xindice/trunk/java/src/org/apache/xindice/core/DBException.java Sat Aug 
11 19:51:49 2007
@@ -29,7 +29,7 @@
  * @version $Revision$, $Date$
  */
 public class DBException extends XindiceException {
-    public int faultCode;
+    public final int faultCode;
 
     public DBException() {
         this(FaultCodes.GEN_UNKNOWN, "", null);

Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/Database.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/Database.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- xml/xindice/trunk/java/src/org/apache/xindice/core/Database.java (original)
+++ xml/xindice/trunk/java/src/org/apache/xindice/core/Database.java Sat Aug 11 
19:51:49 2007
@@ -24,7 +24,6 @@
 import org.apache.xindice.core.query.QueryEngine;
 import org.apache.xindice.server.Xindice;
 import org.apache.xindice.util.Configuration;
-import org.apache.xindice.util.ConfigurationException;
 import org.apache.xindice.util.Named;
 import org.apache.xindice.util.XindiceException;
 
@@ -78,18 +77,20 @@
     /**
      * This will return an instance of a Database for the given
      * name if one has already been loaded, otherwise it will
-     * create a new instance.
+     * create and load a new database instance.
      *
      * @param config Database configuration
      * @return Database instance
-     * @throws ConfigurationException if database name is missing in the 
configuration
+     * @throws DBException if database name is missing in the configuration,
+     *                     or unable to load a database.
      */
-    public static Database getDatabase(Configuration config) {
+    public static Database getDatabase(Configuration config) throws 
DBException {
         String name = config.getAttribute(Database.NAME);
 
         // No name in the config file ... can't get the database
         if (name == null) {
-            throw new ConfigurationException("Database configuration didn't 
contain a database name");
+            throw new DBException(FaultCodes.DBE_CANNOT_READ,
+                                  "Database configuration didn't contain a 
database name");
         }
 
         Database database = (Database) databases.get(name);
@@ -103,8 +104,8 @@
                     try {
                         database.setConfig(config);
                     } catch (XindiceException x) {
-                        // TODO: Configurable interface should use 
ConfigurationException instead of XindiceException... Right?
-                        throw new ConfigurationException("XindiceException: " 
+ x.getMessage(), x);
+                        throw new DBException(FaultCodes.DBE_CANNOT_READ,
+                                              "XindiceException: " + 
x.getMessage(), x);
                     }
 
                     databases.put(database.getName(), database);

Modified: 
xml/xindice/trunk/java/src/org/apache/xindice/core/query/TextQueryResolver.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/query/TextQueryResolver.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- 
xml/xindice/trunk/java/src/org/apache/xindice/core/query/TextQueryResolver.java 
(original)
+++ 
xml/xindice/trunk/java/src/org/apache/xindice/core/query/TextQueryResolver.java 
Sat Aug 11 19:51:49 2007
@@ -155,7 +155,7 @@
                 try {
                     prepareNextNode();
                 } catch (Exception e) {
-                    throw new XindiceRuntimeException(e.getMessage());
+                    throw new XindiceRuntimeException(e);
                 }
             }
 

Modified: 
xml/xindice/trunk/java/src/org/apache/xindice/core/query/XPathQueryResolver.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/query/XPathQueryResolver.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- 
xml/xindice/trunk/java/src/org/apache/xindice/core/query/XPathQueryResolver.java
 (original)
+++ 
xml/xindice/trunk/java/src/org/apache/xindice/core/query/XPathQueryResolver.java
 Sat Aug 11 19:51:49 2007
@@ -1235,7 +1235,7 @@
             try {
                 prepareNextNode();
             } catch (Exception e) {
-                throw new XindiceRuntimeException(e.getMessage());
+                throw new XindiceRuntimeException(e);
             }
         }
 
@@ -1330,7 +1330,7 @@
                 try {
                     prepareNextNode();
                 } catch (Exception e) {
-                    throw new XindiceRuntimeException(e.getMessage());
+                    throw new XindiceRuntimeException(e);
                 }
             }
 

Modified: 
xml/xindice/trunk/java/src/org/apache/xindice/server/ManagedServer.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/server/ManagedServer.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- xml/xindice/trunk/java/src/org/apache/xindice/server/ManagedServer.java 
(original)
+++ xml/xindice/trunk/java/src/org/apache/xindice/server/ManagedServer.java Sat 
Aug 11 19:51:49 2007
@@ -77,10 +77,6 @@
      */
     public synchronized void configure() throws IOException, XindiceException {
         db = Database.getDatabase(loadConfiguration());
-        if (null == db) {
-            log.fatal("Unable to configure database");
-            throw new XindiceException("Unable to configure database");
-        }
         if (log.isInfoEnabled()) {
             log.info("Database name: '" + db.getName() + "'");
         }

Modified: 
xml/xindice/trunk/java/src/org/apache/xindice/server/XindiceServlet.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/server/XindiceServlet.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- xml/xindice/trunk/java/src/org/apache/xindice/server/XindiceServlet.java 
(original)
+++ xml/xindice/trunk/java/src/org/apache/xindice/server/XindiceServlet.java 
Sat Aug 11 19:51:49 2007
@@ -26,13 +26,12 @@
 import org.apache.xindice.core.Database;
 import org.apache.xindice.server.rpc.RPCMessageInterface;
 import org.apache.xindice.util.Configuration;
-import org.apache.xindice.util.ConfigurationException;
 import org.apache.xindice.webadmin.Location;
 import org.apache.xindice.webadmin.WebAdminManager;
-import org.apache.xindice.webadmin.viewer.HtmlDatabaseViewer;
+import org.apache.xindice.webadmin.util.MimeTable;
 import org.apache.xindice.webadmin.viewer.HtmlCollectionViewer;
+import org.apache.xindice.webadmin.viewer.HtmlDatabaseViewer;
 import org.apache.xindice.webadmin.viewer.HtmlResourceViewer;
-import org.apache.xindice.webadmin.util.MimeTable;
 import org.apache.xindice.webadmin.webdav.DAVRequest;
 import org.apache.xindice.webadmin.webdav.DAVResponse;
 import org.apache.xindice.webadmin.webdav.WebdavStatus;
@@ -92,7 +91,7 @@
         try {
             Configuration[] rootConfigurations = 
configuration.getChildren("root-collection");
             if (rootConfigurations.length == 0) {
-                throw new ConfigurationException("The database configuration 
is missing the <root-collection> element");
+                throw new ServletException("The database configuration is 
missing the <root-collection> element");
             }
 
             for (int i = 0; i < rootConfigurations.length; i++) {
@@ -132,7 +131,7 @@
                         log.warn("The database '" + name + "' root directory 
has been set to " + dbRoot +
                                  ". Keep in mind that if a war upgrade will 
take place the database will be lost.");
                     } else {
-                        throw new ConfigurationException(
+                        throw new ServletException(
                                 "The database '" + name + "' configuration 
points to a relative path, "
                                 + "but there was no " + 
Xindice.PROP_XINDICE_DB_HOME + " property set. "
                                 + "Furthermore, the war was not unpacked by 
the application server "
@@ -176,7 +175,7 @@
             try {
                 XmlRpc.setDriver(xmlrpcDriver);
             } catch (Exception e) {
-                throw new ConfigurationException("Failed to set driver for 
XmlRpc to: " + xmlrpcDriver, e);
+                throw new ServletException("Failed to set driver for XmlRpc 
to: " + xmlrpcDriver, e);
             }
 
             // Create the XML-RPC server and add our handler as the default.
@@ -184,7 +183,7 @@
             try {
                 this.xmlrpcServer.addHandler("$default", new 
RPCMessageInterface());
             } catch (Exception e) {
-                throw new ConfigurationException("Failed to add default 
handler to XmlRpc server.", e);
+                throw new ServletException("Failed to add default handler to 
XmlRpc server.", e);
             }
 
             log.info("Xindice server successfully started");
@@ -221,10 +220,11 @@
      * <li>default configuration stored in the <tt>Xindice</tt> class</li>
      * </ul>
      *
+     * @param servletConfig servlet configuration
      * @return Xindice configuration
-     * @throws ConfigurationException if unable to read configuration file or 
parse it
+     * @throws ServletException if unable to load configuration
      */
-    public Configuration loadConfiguration(ServletConfig servletConfig) {
+    public Configuration loadConfiguration(ServletConfig servletConfig) throws 
ServletException {
         try {
             InputStream in = null;
             String path = 
System.getProperty(Xindice.PROP_XINDICE_CONFIGURATION);
@@ -262,7 +262,7 @@
 
             return new Configuration(doc, false);
         } catch (Exception e) {
-            throw new ConfigurationException("Failed to load configuration.", 
e);
+            throw new ServletException("Failed to load configuration.", e);
         }
     }
 

Modified: 
xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceException.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceException.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceException.java 
(original)
+++ xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceException.java 
Sat Aug 11 19:51:49 2007
@@ -19,9 +19,6 @@
 
 package org.apache.xindice.util;
 
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
 /**
  * A XindiceException is the base class for all Xindice related
  * Exceptions.
@@ -29,7 +26,6 @@
  * @version $Revision$, $Date$
  */
 public class XindiceException extends Exception {
-    protected Throwable cause;
 
     public XindiceException() {
     }
@@ -39,36 +35,10 @@
     }
 
     public XindiceException(Throwable cause) {
-        super();
-        this.cause = cause;
+        super(cause);
     }
 
     public XindiceException(String message, Throwable cause) {
-        super(message);
-        this.cause = cause;
-    }
-
-    public void printStackTrace() {
-        printStackTrace(System.err);
-    }
-
-    public void printStackTrace(PrintStream s) {
-        super.printStackTrace(s);
-        if (this.cause != null) {
-            s.print("Caused by: ");
-            this.cause.printStackTrace(s);
-        }
-    }
-
-    public void printStackTrace(PrintWriter s) {
-        super.printStackTrace(s);
-        if (this.cause != null) {
-            s.print("Caused by: ");
-            this.cause.printStackTrace(s);
-        }
-    }
-
-    public Throwable getCause() {
-        return cause;
+        super(message, cause);
     }
 }

Modified: 
xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceRuntimeException.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceRuntimeException.java?view=diff&rev=564998&r1=564997&r2=564998
==============================================================================
--- 
xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceRuntimeException.java 
(original)
+++ 
xml/xindice/trunk/java/src/org/apache/xindice/util/XindiceRuntimeException.java 
Sat Aug 11 19:51:49 2007
@@ -19,16 +19,13 @@
 
 package org.apache.xindice.util;
 
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
 /**
- * A XindiceRuntimeException is the base class for all Xindice related 
RuntimeExceptions.
+ * A XindiceRuntimeException is the base class for all Xindice related
+ * RuntimeExceptions.
  *
  * @version $Revision$, $Date$
  */
 public class XindiceRuntimeException extends RuntimeException {
-    protected Throwable cause;
 
     public XindiceRuntimeException() {
     }
@@ -38,36 +35,10 @@
     }
 
     public XindiceRuntimeException(Throwable cause) {
-        super();
-        this.cause = cause;
+        super(cause);
     }
 
     public XindiceRuntimeException(String message, Throwable cause) {
-        super(message);
-        this.cause = cause;
-    }
-
-    public void printStackTrace() {
-        printStackTrace(System.err);
-    }
-
-    public void printStackTrace(PrintStream s) {
-        super.printStackTrace(s);
-        if (this.cause != null) {
-            s.print("Caused by: ");
-            this.cause.printStackTrace(s);
-        }
-    }
-
-    public void printStackTrace(PrintWriter s) {
-        super.printStackTrace(s);
-        if (this.cause != null) {
-            s.print("Caused by: ");
-            this.cause.printStackTrace(s);
-        }
-    }
-
-    public Throwable getCause() {
-        return cause;
+        super(message, cause);
     }
 }


Reply via email to