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); } }