You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by ke...@apache.org on 2003/07/10 23:44:04 UTC

cvs commit: xml-xindice/java/src/org/apache/xindice/client/xmldb DatabaseImpl.java

kevinross    2003/07/10 14:44:04

  Modified:    java/src/org/apache/xindice/client/xmldb DatabaseImpl.java
  Log:
  formatting, organize imports
  
  Revision  Changes    Path
  1.14      +145 -148  xml-xindice/java/src/org/apache/xindice/client/xmldb/DatabaseImpl.java
  
  Index: DatabaseImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/client/xmldb/DatabaseImpl.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DatabaseImpl.java	9 Jul 2003 16:35:12 -0000	1.13
  +++ DatabaseImpl.java	10 Jul 2003 21:44:03 -0000	1.14
  @@ -79,156 +79,153 @@
    *
    * This implementation simply acts as a proxy for the protocol specific API implementations.
    */
  -public class DatabaseImpl extends CommonConfigurable
  -   implements Database {
  +public class DatabaseImpl extends CommonConfigurable implements Database {
   
  -   private static Log log = LogFactory.getLog("org.apache.xindice.client.xmldb");
  +	private static Log log = LogFactory.getLog("org.apache.xindice.client.xmldb");
   
  -   protected Database driver;
  +	protected Database driver;
   
  -   /**
  -    * These are the URI prefixes this proxy impl understands.
  -    *
  -    * XML-RPC is the default.
  -    */
  -   public static String XMLRPC_URI = "xindice://";
  -   public static String EMBED_URI = "xindice-embed://";
  +	/**
  +	 * These are the URI prefixes this proxy impl understands.
  +	 *
  +	 * XML-RPC is the default.
  +	 */
  +	public static String XMLRPC_URI = "xindice://";
  +	public static String EMBED_URI = "xindice-embed://";
   	public static String MANAGED_URI = "xindice-managed://";
  -   
   
  -   /**
  -    * Name used in the uri for collections associated with this instance.
  -    */
  -   public static String INSTANCE_NAME = "xindice, xindice-embed, xindice-managed";
  -   
  -   /**
  -      * The XML:DB API Core Level Conformance of this implementation.
  -    */
  -   public static String CONFORMANCE_LEVEL = "0";
  -   
  -   /**
  -    * Constructor for the DatabaseImpl object
  -    */
  -   public DatabaseImpl() {
  -      super();
  -   }
  -
  -   /**
  -    * Returns the prefix used in XML:DB to denote URI's that this driver can
  -    * handle.
  -    *
  -    * @return the prefix driver name
  -    * @exception XMLDBException with expected error codes.<br />
  -    *  <code>ErrorCodes.VENDOR_ERROR</code> for any vendor
  -    *  specific errors that occur.<br />
  -    */
  -   public String getName() throws XMLDBException {
  -      return INSTANCE_NAME;
  -   }
  -
  -   /**
  -    * Creates a Collection instance using the URI to locate the collection in
  -    * the Xindice instance. Applications should not call this method directly.
  -    * Instead they should call org.xmldb.api.base.DatabaseManager.getCollection().
  -    * <p />
  -    * The URI format accepted by this method:
  -    * xindice:/[Nameservice host]//[Database Instance Name in the CORBA Name Service]/[collection path]
  -    * <p />
  -    * Nameservice host is optional.
  -    *
  -    * This usually looks something like this:
  -    * xindice:///db/root/ocs. or
  -    * xindice://some.host.com:8309/db/root/ocs
  -    * <p />
  -    * When you pass the URI to DatabaseManager.getCollection(uri) you must
  -    * prepend an xmldb: to the beginning to make it a valid XML:DB URI.
  -    * So to normal users of the API URIs will look like this:
  -    * xmldb:xindice:///db/root/ocs. DatabaseManager will strip the
  -    * xmldb: before handing the URI to this getCollection implementation.
  -    * <p />
  -    * @param uri The URI specifing the location of the collection.
  -    * @return The Collection value
  -    * @exception XMLDBException
  -    */
  -   public org.xmldb.api.base.Collection getCollection(String uri,
  -         String username, String password) throws XMLDBException {
  -
  -      createDriver(uri);
  -            
  -      return driver.getCollection(uri, username, password);
  -   }
  -
  -   /**
  -    * Returns the XML:DB API Conformance level for the implementation. This can
  -    * be used by client programs to determine what functionality is available to
  -    * them.
  -    *
  -    * @return the XML:DB API conformance level for this implementation.
  -    * @exception XMLDBException with expected error codes.<br />
  -    *  <code>ErrorCodes.VENDOR_ERROR</code> for any vendor
  -    *  specific errors that occur.<br />
  -    */
  -   public String getConformanceLevel() throws XMLDBException {
  -      return CONFORMANCE_LEVEL;
  -   }
  -
  -   /**
  -    * Determines whether this <code>Database</code> implementation  can handle
  -    * the URI. It should return true if the Database instance knows how to
  -    * handle the URI and false otherwise. <p />
  -    *
  -    * This method is called by org.xmldb.api.base.DatabaseManager.
  -    *
  -    * @param uri the URI to check for.
  -    * @return true if the URI can be handled, false otherwise.
  -    * @exception XMLDBException with expected error codes.<br />
  -    *  <code>ErrorCodes.VENDOR_ERROR</code> for any vendor
  -    *  specific errors that occur.<br />
  -    *  <code>ErrroCodes.INVALID_URI</code> If the URI is not in a valid format. <br />
  -    * @see #getCollection for a description of the URI's format
  -    */
  -   public boolean acceptsURI(String uri) throws XMLDBException {
  -      if ( uri == null || uri.equals("") ) {
  -         return false;
  -      }
  -
  -      createDriver(uri);
  -      if ( driver == null ) {
  -         return false;
  -      } else {
  -         return driver.acceptsURI(uri);
  -      }
  -   }
  -
  -   protected void createDriver(String uri) throws XMLDBException {
  -      // Determine which driver was requested.
  -      try {
  -         if ( driver == null ) {
  -            if (uri.startsWith(XMLRPC_URI)) {
  -                /*
  -                 * The only way that a particular instance of xmlrpc.DatabaseImpl
  -                 * can be informed of the path to the XML-RPC service in the
  -                 * web server is by setting a property on the DatabaseImpl object
  -                 * which is in turn passed to the CollectionImpl object.  Whew!
  -                 * Since the user never sees the actual xmlrpc.DatabaseImpl object,
  -                 * this is the only way to make sure that they can set that property.
  -                 */
  -                driver = new org.apache.xindice.client.xmldb.xmlrpc.DatabaseImpl(this);
  -            }
  -            else if (uri.startsWith(EMBED_URI)) {
  -               driver = new org.apache.xindice.client.xmldb.embed.DatabaseImpl();
  -            }
  -            else if (uri.startsWith(MANAGED_URI)) {
  -            	driver = new ManagedDatabaseImpl();	
  -            }
  -         }   
  -      }
  -      catch (Exception e) {
  -         if (log.isInfoEnabled()) {
  -            log.info("Exception during creation of the Database", e);
  -         }
  -         throw new XMLDBException(ErrorCodes.INVALID_URI, uri, e);
  -      }
  -   }
  +	/**
  +	 * Name used in the uri for collections associated with this instance.
  +	 */
  +	public static String INSTANCE_NAME = "xindice, xindice-embed, xindice-managed";
  +
  +	/**
  +	   * The XML:DB API Core Level Conformance of this implementation.
  +	 */
  +	public static String CONFORMANCE_LEVEL = "0";
  +
  +	/**
  +	 * Constructor for the DatabaseImpl object
  +	 */
  +	public DatabaseImpl() {
  +		super();
  +	}
  +
  +	/**
  +	 * Returns the prefix used in XML:DB to denote URI's that this driver can
  +	 * handle.
  +	 *
  +	 * @return the prefix driver name
  +	 * @exception XMLDBException with expected error codes.<br />
  +	 *  <code>ErrorCodes.VENDOR_ERROR</code> for any vendor
  +	 *  specific errors that occur.<br />
  +	 */
  +	public String getName() throws XMLDBException {
  +		return INSTANCE_NAME;
  +	}
  +
  +	/**
  +	 * Creates a Collection instance using the URI to locate the collection in
  +	 * the Xindice instance. Applications should not call this method directly.
  +	 * Instead they should call org.xmldb.api.base.DatabaseManager.getCollection().
  +	 * <p />
  +	 * The URI format accepted by this method:
  +	 * xindice:/[Nameservice host]//[Database Instance Name in the CORBA Name Service]/[collection path]
  +	 * <p />
  +	 * Nameservice host is optional.
  +	 *
  +	 * This usually looks something like this:
  +	 * xindice:///db/root/ocs. or
  +	 * xindice://some.host.com:8309/db/root/ocs
  +	 * <p />
  +	 * When you pass the URI to DatabaseManager.getCollection(uri) you must
  +	 * prepend an xmldb: to the beginning to make it a valid XML:DB URI.
  +	 * So to normal users of the API URIs will look like this:
  +	 * xmldb:xindice:///db/root/ocs. DatabaseManager will strip the
  +	 * xmldb: before handing the URI to this getCollection implementation.
  +	 * <p />
  +	 * @param uri The URI specifing the location of the collection.
  +	 * @return The Collection value
  +	 * @exception XMLDBException
  +	 */
  +	public org.xmldb.api.base.Collection getCollection(String uri, String username, String password) throws XMLDBException {
  +
  +		createDriver(uri);
  +
  +		return driver.getCollection(uri, username, password);
  +	}
  +
  +	/**
  +	 * Returns the XML:DB API Conformance level for the implementation. This can
  +	 * be used by client programs to determine what functionality is available to
  +	 * them.
  +	 *
  +	 * @return the XML:DB API conformance level for this implementation.
  +	 * @exception XMLDBException with expected error codes.<br />
  +	 *  <code>ErrorCodes.VENDOR_ERROR</code> for any vendor
  +	 *  specific errors that occur.<br />
  +	 */
  +	public String getConformanceLevel() throws XMLDBException {
  +		return CONFORMANCE_LEVEL;
  +	}
  +
  +	/**
  +	 * Determines whether this <code>Database</code> implementation  can handle
  +	 * the URI. It should return true if the Database instance knows how to
  +	 * handle the URI and false otherwise. <p />
  +	 *
  +	 * This method is called by org.xmldb.api.base.DatabaseManager.
  +	 *
  +	 * @param uri the URI to check for.
  +	 * @return true if the URI can be handled, false otherwise.
  +	 * @exception XMLDBException with expected error codes.<br />
  +	 *  <code>ErrorCodes.VENDOR_ERROR</code> for any vendor
  +	 *  specific errors that occur.<br />
  +	 *  <code>ErrroCodes.INVALID_URI</code> If the URI is not in a valid format. <br />
  +	 * @see #getCollection for a description of the URI's format
  +	 */
  +	public boolean acceptsURI(String uri) throws XMLDBException {
  +		if (uri == null || uri.equals("")) {
  +			return false;
  +		}
  +
  +		createDriver(uri);
  +		if (driver == null) {
  +			return false;
  +		}
  +		else {
  +			return driver.acceptsURI(uri);
  +		}
  +	}
  +
  +	protected void createDriver(String uri) throws XMLDBException {
  +		// Determine which driver was requested.
  +		try {
  +			if (driver == null) {
  +				if (uri.startsWith(XMLRPC_URI)) {
  +					/*
  +					 * The only way that a particular instance of xmlrpc.DatabaseImpl
  +					 * can be informed of the path to the XML-RPC service in the
  +					 * web server is by setting a property on the DatabaseImpl object
  +					 * which is in turn passed to the CollectionImpl object.  Whew!
  +					 * Since the user never sees the actual xmlrpc.DatabaseImpl object,
  +					 * this is the only way to make sure that they can set that property.
  +					 */
  +					driver = new org.apache.xindice.client.xmldb.xmlrpc.DatabaseImpl(this);
  +				}
  +				else if (uri.startsWith(EMBED_URI)) {
  +					driver = new org.apache.xindice.client.xmldb.embed.DatabaseImpl();
  +				}
  +				else if (uri.startsWith(MANAGED_URI)) {
  +					driver = new ManagedDatabaseImpl();
  +				}
  +			}
  +		}
  +		catch (Exception e) {
  +			if (log.isInfoEnabled()) {
  +				log.info("Exception during creation of the Database", e);
  +			}
  +			throw new XMLDBException(ErrorCodes.INVALID_URI, uri, e);
  +		}
  +	}
   }
  -