You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by ha...@apache.org on 2001/11/02 12:09:08 UTC

cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/soap/server SoapDatabaseManager.java SoapDatabaseManager.xinfo

hammant     01/11/02 03:09:08

  Modified:    apps/db/src/java/org/apache/avalon/db/server
                        AbstractDatabaseManager.java
               apps/db/src/java/org/apache/avalon/db/services
                        DatabaseManager.java
               apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server
                        PlainCMDDatabaseManager.java
  Added:       apps/db/src/java/org/apache/avalon/db/transport/soap/server
                        SoapDatabaseManager.java SoapDatabaseManager.xinfo
  Log:
  New transport for AvalonDB - SOAP
  
  Revision  Changes    Path
  1.8       +5 -4      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/AbstractDatabaseManager.java
  
  Index: AbstractDatabaseManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/AbstractDatabaseManager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AbstractDatabaseManager.java	2001/10/31 14:42:14	1.7
  +++ AbstractDatabaseManager.java	2001/11/02 11:09:08	1.8
  @@ -29,6 +29,7 @@
   import org.apache.avalon.framework.logger.AbstractLoggable;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.ComponentException;
  +import org.apache.avalon.framework.component.Composable;
   
   
   /**
  @@ -36,9 +37,9 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.7 $
  + * @version $Revision: 1.8 $
    */
  -public abstract class AbstractDatabaseManager extends AbstractLoggable {
  +public abstract class AbstractDatabaseManager extends AbstractLoggable implements Composable {
   
       protected SQLParser mSQLParser;
       protected SQLOptimizer mSQLOptimizer;
  @@ -95,7 +96,7 @@
           return new UnknownRequestReply();
       }
   
  -    protected Reply processSelectRequest(SelectRequest selectRequest) throws ActionException {
  +    public Reply processSelectRequest(SelectRequest selectRequest) throws ActionException {
           SelectRequest optimizedSelectRequest =
               mSQLOptimizer.optimizeSelectRequest(selectRequest);
           Select select = mSQLParser.createSelectAction(optimizedSelectRequest);
  @@ -103,7 +104,7 @@
           return new ResultSetReply(select.getRowSet());
       }
   
  -    protected Reply processCreateTableRequest(CreateTableRequest createTableRequest) throws ActionException {
  +    public Reply processCreateTableRequest(CreateTableRequest createTableRequest) throws ActionException {
           CreateTable ct = mSQLParser.createCreateTableAction(createTableRequest);
           ct.execute();
           return new UpdateReply(ct.getRecordCount());
  
  
  
  1.3       +11 -1     jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/services/DatabaseManager.java
  
  Index: DatabaseManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/services/DatabaseManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DatabaseManager.java	2001/10/30 17:45:14	1.2
  +++ DatabaseManager.java	2001/11/02 11:09:08	1.3
  @@ -8,6 +8,11 @@
    */
   package org.apache.avalon.db.services;
   
  +import org.apache.avalon.db.transport.Reply;
  +import org.apache.avalon.db.transport.Request;
  +import org.apache.avalon.db.transport.SelectRequest;
  +import org.apache.avalon.db.transport.CreateTableRequest;
  +import org.apache.avalon.db.actions.ActionException;
   
   
   /**
  @@ -16,5 +21,10 @@
    */
   public interface DatabaseManager {
   
  -    // Resulting block will depend on SQLParser & SQLOptimizer
  +        // Resulting block will depend on SQLParser & SQLOptimizer
  +
  +        Reply processRequest(Request request);
  +        Reply processSelectRequest(SelectRequest selectRequest) throws ActionException;
  +        Reply processCreateTableRequest(CreateTableRequest createTableRequest) throws ActionException;
  +
   }
  
  
  
  1.3       +2 -2      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server/PlainCMDDatabaseManager.java
  
  Index: PlainCMDDatabaseManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server/PlainCMDDatabaseManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PlainCMDDatabaseManager.java	2001/10/29 15:18:17	1.2
  +++ PlainCMDDatabaseManager.java	2001/11/02 11:09:08	1.3
  @@ -43,7 +43,7 @@
    * @version 1.0
    */
   public class PlainCMDDatabaseManager extends AbstractDatabaseManager
  -        implements Block, DatabaseManager, Contextualizable, Composable, Configurable,
  +        implements Block, DatabaseManager, Contextualizable, Configurable,
                      Initializable, ConnectionHandlerFactory {
   
       protected SocketManager mSocketManager;
  @@ -129,7 +129,7 @@
           final ServerSocketFactory factory = mSocketManager.getServerSocketFactory("plain");
           final ServerSocket serverSocket = factory.createServerSocket(mPort, 5, mBindTo);
   
  -        mConnectionManager.connect("HypersonicSQLListener", serverSocket, this);
  +        mConnectionManager.connect("AvalonDBListener", serverSocket, this);
       }
   
       /**
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/soap/server/SoapDatabaseManager.java
  
  Index: SoapDatabaseManager.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.db.transport.soap.server;
  
  
  
  import org.apache.avalon.framework.logger.AbstractLoggable;
  import org.apache.avalon.framework.context.Contextualizable;
  import org.apache.avalon.framework.context.Context;
  import org.apache.avalon.framework.component.Composable;
  import org.apache.avalon.framework.component.ComponentException;
  import org.apache.avalon.framework.component.ComponentManager;
  import org.apache.avalon.framework.configuration.Configurable;
  import org.apache.avalon.framework.configuration.Configuration;
  import org.apache.avalon.framework.configuration.ConfigurationException;
  import org.apache.avalon.framework.activity.Initializable;
  import org.apache.avalon.phoenix.Block;
  import org.apache.avalon.phoenix.BlockContext;
  import org.apache.avalon.db.services.DatabaseManager;
  import org.apache.avalon.db.server.AbstractDatabaseManager;
  import org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
  import org.apache.avalon.cornerstone.services.connection.ConnectionManager;
  import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
  import org.apache.avalon.cornerstone.services.sockets.SocketManager;
  import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
  import org.apache.avalon.cornerstone.services.soapification.SOAPification;
  import org.apache.avalon.hsql.blocks.DBConnectionHandler;
  
  import java.net.InetAddress;
  import java.net.UnknownHostException;
  import java.net.ServerSocket;
  
  import java.io.File;
  
  
  /**
   * @author  Paul Hammant <Pa...@yahoo.com>
   * @version 1.0
   */
  public class SoapDatabaseManager extends AbstractDatabaseManager
          implements Block, DatabaseManager, Contextualizable,
                     Initializable  {
  
      protected BlockContext mContext;
      protected SOAPification mSOAPification;
  
      /**
       * Method contextualize
       *
       *
       * @param context
       *
       */
      public void contextualize(final Context context) {
          mContext = (BlockContext) context;
      }
  
  
      /**
       * Method compose
       *
       *
       * @param componentManager
       *
       * @throws ComponentException
       *
       */
      public void compose(final ComponentManager componentManager) throws ComponentException {
  
          super.compose(componentManager);
          mSOAPification = (SOAPification) componentManager.lookup(SOAPification.ROLE);
      }
  
  
      /**
       * Method initialize
       *
       *
       * @throws Exception
       *
       */
      public void initialize() throws Exception {
          mSOAPification.publish(this, "AvalonDB", DatabaseManager.class);
      }
  
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/soap/server/SoapDatabaseManager.xinfo
  
  Index: SoapDatabaseManager.xinfo
  ===================================================================
  <?xml version="1.0"?>
  
  <blockinfo>
  
    <!-- section to describe block -->
    <block>
      <version>1.0</version>
    </block>
  
    <!-- services that are offered by this block -->
    <services>
      <service name="org.apache.avalon.db.services.DatabaseManager" 
               version="1.0" />
    </services>
  
    <dependencies>
      <dependency>
        <service name="org.apache.avalon.cornerstone.services.soapification.SOAPification" version="1.0"/>
      </dependency>
      <dependency>
        <service name="org.apache.avalon.db.services.SQLParser" version="1.0"/>
      </dependency>
      <dependency>
        <service name="org.apache.avalon.db.services.SQLOptimizer" version="1.0"/>
      </dependency>
    </dependencies>  
  
  </blockinfo>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>