commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From froehl...@apache.org
Subject cvs commit: jakarta-commons-sandbox/simplestore/src/sample/org/apache/commons/simplestore/jdbc DriverDataSource.java DBStorage.java
Date Sat, 09 Feb 2002 18:54:10 GMT
froehlich    02/02/09 10:54:10

  Modified:    simplestore/src/sample/org/apache/commons/simplestore/jdbc
                        DriverDataSource.java DBStorage.java
  Log:
  added full license and reformated with jedit's JavaStyle
  
  Revision  Changes    Path
  1.2       +293 -235  jakarta-commons-sandbox/simplestore/src/sample/org/apache/commons/simplestore/jdbc/DriverDataSource.java
  
  Index: DriverDataSource.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/sample/org/apache/commons/simplestore/jdbc/DriverDataSource.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DriverDataSource.java	7 Feb 2002 16:25:36 -0000	1.1
  +++ DriverDataSource.java	9 Feb 2002 18:54:10 -0000	1.2
  @@ -1,358 +1,416 @@
  -/*****************************************************************************
  - * 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.                                                         *
  - *****************************************************************************/
  -
  +/*
  + * The Apache Software License, Version 1.1
  + *
  + *
  + * Copyright (c) 2001 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software itself,
  + *    if and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "Apache Cocoon" and "Apache Software Foundation" must
  + *    not be used to endorse or promote products derived from this
  + *    software without prior written permission. For written
  + *    permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    nor may "Apache" appear in their name, without prior written
  + *    permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + */
   package org.apache.commons.simplestore.jdbc;
   
   import java.sql.*;
   import java.util.*;
   
  -
   /**
  - *
  - * @author Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
  + *@author     Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
    *      baliuka@mwm.lt</a>
  - * @version $Id: DriverDataSource.java,v 1.1 2002/02/07 16:25:36 baliuka Exp $
  + *@version    $Id: DriverDataSource.java,v 1.2 2002/02/09 18:54:10 froehlich Exp $
    *
    * This is light weight Read Only Datasource implementation, asumes Driver returns reentrant connections
    * it tested and designed for PostgresSQL JDBC driver only.
  - *
    */
   public class DriverDataSource implements javax.sql.DataSource {
  -    
  +
       private final java.util.Properties properties = new java.util.Properties();
  -    
  -    private  ConnectionWrapper connection[] = null;
  -    
  +
  +    private ConnectionWrapper connection[] = null;
  +
       private int counter = 0;
  -    
  +
       private java.sql.Driver driver;
  -    
  +
       /** Holds value of property user. */
       private String user;
  -    
  +
       /** Holds value of property password. */
       private String password;
  -    
  +
       /** Holds value of property url. */
       private String url;
  -    
  +
       /** Holds value of property maxConnections. */
       private int maxConnections = 5;
  -    
  +
       /** Creates new DriverDataSourceFactoryImpl */
  -    public DriverDataSource() {
  -        
  -    }
  -    
  -    
  -    /** Getter for property user.
  -     * @return Value of property user.
  -     */
  -    public String getUser() {
  -        return user;
  -    }
  -    
  -    /** Setter for property user.
  -     * @param user New value of property user.
  +    public DriverDataSource() { }
  +
  +    /**
  +     * Setter for property user.
  +     *
  +     *@param  user  New value of property user.
        */
       public void setUser(String user) {
  -        if( this.user != null )
  +        if (this.user != null) {
               throw new java.lang.IllegalStateException();
  +        }
           this.user = user;
  -        properties.setProperty("user",user);
  -    }
  -    
  -    /** Getter for property password.
  -     * @return Value of property password.
  -     */
  -    public String getPassword() {
  -        return password;
  +        properties.setProperty("user", user);
       }
  -    
  -    /** Setter for property password.
  -     * @param password New value of property password.
  +
  +    /**
  +     * Setter for property password.
  +     *
  +     *@param  password  New value of property password.
        */
       public void setPassword(String password) {
  -        if( this.password != null )
  +        if (this.password != null) {
               throw new java.lang.IllegalStateException();
  -        properties.setProperty("password",password);
  +        }
  +        properties.setProperty("password", password);
           this.password = password;
       }
  -    
  -    /** Getter for property url.
  -     * @return Value of property url.
  -     */
  -    public String getUrl() {
  -        return url;
  -    }
  -    
  -    /** Setter for property url.
  -     * @param url New value of property url.
  +
  +    /**
  +     * Setter for property url.
  +     *
  +     *@param  url  New value of property url.
        */
       public void setUrl(String url) {
  -        if( this.url != null )
  +        if (this.url != null) {
               throw new java.lang.IllegalStateException();
  +        }
           this.url = url;
       }
  -    
  -    private ConnectionWrapper newConnection() throws java.sql.SQLException{
  -        java.sql.Connection con = driver.connect(url,properties);
  -        con.setAutoCommit(false);
  -        return new ConnectionWrapper(con);
  +
  +    public void setLogWriter(java.io.PrintWriter printWriter) throws java.sql.SQLException { }
  +
  +    public void setLoginTimeout(int param) throws java.sql.SQLException { }
  +
  +    /**
  +     * Setter for property maxConnections.
  +     *
  +     *@param  maxConnections  New value of property maxConnections.
  +     */
  +    public void setMaxConnections(int maxConnections) {
  +        if (connection != null) {
  +            throw new java.lang.IllegalStateException();
  +        }
  +        this.maxConnections = maxConnections;
  +
       }
  -    
  -    public java.sql.Connection getConnection() throws java.sql.SQLException{
  -        
  -        synchronized(this){
  -            
  -            if( connection == null )
  +
  +
  +    /**
  +     * Setter for property driver.
  +     *
  +     *@param  driver  New value of property driver.
  +     */
  +    public void setDriver(String driver) {
  +        if (this.driver != null) {
  +            throw new java.lang.IllegalStateException();
  +        }
  +
  +        try {
  +            this.driver = (java.sql.Driver) Class.forName(driver).newInstance();
  +        } catch (Exception e) {
  +            e.printStackTrace();
  +            throw new RuntimeException(e.getMessage());
  +        }
  +    }
  +
  +
  +    /**
  +     * Getter for property user.
  +     *
  +     *@return    Value of property user.
  +     */
  +    public String getUser() {
  +        return user;
  +    }
  +
  +    /**
  +     * Getter for property password.
  +     *
  +     *@return    Value of property password.
  +     */
  +    public String getPassword() {
  +        return password;
  +    }
  +
  +    /**
  +     * Getter for property url.
  +     *
  +     *@return    Value of property url.
  +     */
  +    public String getUrl() {
  +        return url;
  +    }
  +
  +    public java.sql.Connection getConnection() throws java.sql.SQLException {
  +
  +        synchronized (this) {
  +
  +            if (connection == null) {
                   connection = new ConnectionWrapper[maxConnections];
  -            
  -            
  -            counter  = (counter + 1)%maxConnections;
  -            
  -            for(int i = 0; i < maxConnections; i++ )
  -                if(connection[i] != null)
  -                    if(!connection[i].isUsed()){
  +            }
  +
  +            counter = (counter + 1) % maxConnections;
  +
  +            for (int i = 0; i < maxConnections; i++) {
  +                if (connection[i] != null) {
  +                    if (!connection[i].isUsed()) {
                           counter = i;
                           break;
                       }
  -            
  -            if(connection[counter] == null)
  -                connection[counter] =  newConnection();
  -            
  -            if(connection[counter].isClosed()){
  -                try{
  -                    
  +                }
  +            }
  +
  +            if (connection[counter] == null) {
  +                connection[counter] = newConnection();
  +            }
  +
  +            if (connection[counter].isClosed()) {
  +                try {
  +
                       connection[counter].release();
  -                    
  -                }catch(Exception ignore){
  -                    
  +
  +                } catch (Exception ignore) {
  +
                   }
  -                connection[counter] =  newConnection();
  +                connection[counter] = newConnection();
               }
  -            
  +
               connection[counter].setUsed(true);
  -            
  +
               return connection[counter];
           }
  -        
  +
       }
  -    
  +
       public java.io.PrintWriter getLogWriter() throws java.sql.SQLException {
           return new java.io.PrintWriter(System.out);
       }
  -    
  -    public void setLogWriter(java.io.PrintWriter printWriter) throws java.sql.SQLException {
  -    }
  -    
  -    public void setLoginTimeout(int param) throws java.sql.SQLException {
  -    }
  -    
  +
       public java.sql.Connection getConnection(java.lang.String str, java.lang.String str1) throws java.sql.SQLException {
           return getConnection();
       }
  -    
  +
       public int getLoginTimeout() throws java.sql.SQLException {
           return 0;
       }
  -    
  -    /** Getter for property maxConnections.
  -     * @return Value of property maxConnections.
  +
  +    /**
  +     * Getter for property maxConnections.
  +     *
  +     *@return    Value of property maxConnections.
        */
       public int getMaxConnections() {
           return maxConnections;
       }
  -    
  -    /** Setter for property maxConnections.
  -     * @param maxConnections New value of property maxConnections.
  -     */
  -    public void setMaxConnections(int maxConnections) {
  -        if(connection != null)
  -            throw new java.lang.IllegalStateException();
  -        this.maxConnections = maxConnections;
  -        
  -    }
  -    
  -    
  -    /** Setter for property driver.
  -     * @param driver New value of property driver.
  -     */
  -    public void setDriver(String driver) {
  -        if( this.driver != null )
  -            throw new java.lang.IllegalStateException();
  -        
  -        try{
  -            this.driver = (java.sql.Driver)Class.forName(driver).newInstance();
  -        }catch(Exception e){
  -            e.printStackTrace();
  -            throw new RuntimeException(e.getMessage());
  -        }
  +
  +    private ConnectionWrapper newConnection() throws java.sql.SQLException {
  +        java.sql.Connection con = driver.connect(url, properties);
  +        con.setAutoCommit(false);
  +        return new ConnectionWrapper(con);
       }
  -    
  +
   }
   
   /**
  - *
  - * @author  Juozas Baliuka
  - * @version $Id: DriverDataSource.java,v 1.1 2002/02/07 16:25:36 baliuka Exp $
  + *@author     Juozas Baliuka
  + *@version    $Id: DriverDataSource.java,v 1.2 2002/02/09 18:54:10 froehlich Exp $
    */
  -class ConnectionWrapper  implements Connection {
  -    
  -    
  +class ConnectionWrapper implements Connection {
  +
  +
       boolean used = true;
       private Connection connection;
  -    public void release()throws SQLException {
  -        connection.close();
  -    }
  -    
  -    public boolean isUsed(){
  -        return used;
  +
  +    public ConnectionWrapper(Connection connection) {
  +        this.connection = connection;
  +
       }
  -    
  -    public void setUsed(boolean used){
  +
  +    public void setUsed(boolean used) {
           this.used = used;
  -        
  -    }
  -    
  -    public ConnectionWrapper(Connection connection ) {
  -        this.connection = connection;
  -        
  +
       }
  -    
  -    public void close() throws SQLException {
  -        setUsed(false);
  +
  +    public void setAutoCommit(boolean autoCommit) throws SQLException {
  +        connection.setAutoCommit(autoCommit);
       }
  -    
  -    
  -    public Statement createStatement() throws SQLException {
  -        return connection.createStatement();
  -        
  +
  +    public void setReadOnly(boolean readOnly) throws SQLException {
  +        connection.setReadOnly(readOnly);
       }
  -    
  -    public PreparedStatement prepareStatement(String sql) throws SQLException {
  -        return connection.prepareStatement(sql);
  -        
  +
  +    public void setCatalog(String catalog) throws SQLException {
  +        connection.setCatalog(catalog);
       }
  -    
  -    public CallableStatement prepareCall(String sql) throws SQLException {
  -        return connection.prepareCall(sql);
  +
  +    public void setTransactionIsolation(int level) throws SQLException {
  +        connection.setTransactionIsolation(level);
       }
  -    
  -    public String nativeSQL(String sql) throws SQLException {
  -        return connection.nativeSQL(sql);
  +
  +    public void setTypeMap(Map map) throws SQLException {
  +        connection.setTypeMap(map);
       }
  -    
  -    public void setAutoCommit(boolean autoCommit) throws SQLException {
  -        connection.setAutoCommit(autoCommit);
  +
  +    public boolean isUsed() {
  +        return used;
       }
  -    
  +
       public boolean getAutoCommit() throws SQLException {
           return connection.getAutoCommit();
       }
  -    
  -    public void commit() throws SQLException {
  -        connection.commit();
  -        
  -    }
  -    
  -    public void rollback() throws SQLException {
  -        
  -        connection.rollback();
  -    }
  -    
  -    
  +
  +
       public boolean isClosed() throws SQLException {
  -        if( connection == null ){
  +        if (connection == null) {
               return true;
           }
  -        try{
  -            Statement stmt =  connection.createStatement();
  -            ResultSet rs   =   stmt.executeQuery("SELECT 1");
  +        try {
  +            Statement stmt = connection.createStatement();
  +            ResultSet rs = stmt.executeQuery("SELECT 1");
               rs.next();
               rs.getInt(1);
               rs.close();
               stmt.close();
  -            
  -        }catch(Exception sqle){
  -            try{
  +
  +        } catch (Exception sqle) {
  +            try {
                   connection.close();
  -            }catch(Exception ignore){}
  -            
  +            } catch (Exception ignore) {
  +            }
  +
               return true;
           }
  -        
  +
           return connection.isClosed();
       }
  -    
  +
       public DatabaseMetaData getMetaData() throws SQLException {
           return connection.getMetaData();
       }
  -    
  -    public void setReadOnly(boolean readOnly) throws SQLException {
  -        connection.setReadOnly(readOnly);
  -    }
  -    
  +
       public boolean isReadOnly() throws SQLException {
           return connection.isReadOnly();
       }
  -    
  -    public void setCatalog(String catalog) throws SQLException {
  -        connection.setCatalog(catalog);
  -    }
  -    
  +
       public String getCatalog() throws SQLException {
           return connection.getCatalog();
       }
  -    
  -    public void setTransactionIsolation(int level) throws SQLException {
  -        connection.setTransactionIsolation(level);
  -    }
  -    
  +
       public int getTransactionIsolation() throws SQLException {
           return connection.getTransactionIsolation();
       }
  -    
  +
       public SQLWarning getWarnings() throws SQLException {
           return connection.getWarnings();
       }
  -    
  +
  +    public java.util.Map getTypeMap() throws java.sql.SQLException {
  +        return connection.getTypeMap();
  +    }
  +
  +    public void release() throws SQLException {
  +        connection.close();
  +    }
  +
  +    public void close() throws SQLException {
  +        setUsed(false);
  +    }
  +
  +
  +    public Statement createStatement() throws SQLException {
  +        return connection.createStatement();
  +    }
  +
  +    public PreparedStatement prepareStatement(String sql) throws SQLException {
  +        return connection.prepareStatement(sql);
  +    }
  +
  +    public CallableStatement prepareCall(String sql) throws SQLException {
  +        return connection.prepareCall(sql);
  +    }
  +
  +    public String nativeSQL(String sql) throws SQLException {
  +        return connection.nativeSQL(sql);
  +    }
  +
  +    public void commit() throws SQLException {
  +        connection.commit();
  +
  +    }
  +
  +    public void rollback() throws SQLException {
  +
  +        connection.rollback();
  +    }
  +
       public void clearWarnings() throws SQLException {
           connection.clearWarnings();
       }
  -    
  +
       public Statement createStatement(int resultSetType, int resultSetConcurrency)
  -    throws SQLException {
  -        return connection.createStatement(resultSetType,resultSetConcurrency);
  -        
  +             throws SQLException {
  +        return connection.createStatement(resultSetType, resultSetConcurrency);
       }
  -    
  +
       public PreparedStatement prepareStatement(String sql, int resultSetType,
  -    int resultSetConcurrency) throws SQLException {
  +            int resultSetConcurrency) throws SQLException {
           return connection.prepareStatement(sql, resultSetType, resultSetConcurrency);
       }
  -    
  +
       public CallableStatement prepareCall(String sql, int resultSetType,
  -    int resultSetConcurrency) throws SQLException {
  +            int resultSetConcurrency) throws SQLException {
           return connection.prepareCall(sql, resultSetType, resultSetConcurrency);
       }
  -    
  -    public java.util.Map getTypeMap() throws java.sql.SQLException {
  -        return connection.getTypeMap();
  -    }
  -    
  -    public void setTypeMap(Map map) throws SQLException {
  -        connection.setTypeMap(map);
  -    }
  -    
  -    
  -    
  -    
   }
  -
   
  
  
  
  1.3       +436 -394  jakarta-commons-sandbox/simplestore/src/sample/org/apache/commons/simplestore/jdbc/DBStorage.java
  
  Index: DBStorage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/sample/org/apache/commons/simplestore/jdbc/DBStorage.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DBStorage.java	9 Feb 2002 13:49:47 -0000	1.2
  +++ DBStorage.java	9 Feb 2002 18:54:10 -0000	1.3
  @@ -1,485 +1,527 @@
  -/*****************************************************************************
  - * 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.                                                         *
  - *****************************************************************************/
  -
  +/*
  + * The Apache Software License, Version 1.1
  + *
  + *
  + * Copyright (c) 2001 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software itself,
  + *    if and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "Apache Cocoon" and "Apache Software Foundation" must
  + *    not be used to endorse or promote products derived from this
  + *    software without prior written permission. For written
  + *    permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    nor may "Apache" appear in their name, without prior written
  + *    permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + */
   package org.apache.commons.simplestore.jdbc;
   
  -import org.apache.commons.simplestore.persistence.*;
   import org.apache.commons.simplestore.*;
  -
  +import org.apache.commons.simplestore.persistence.*;
   
   // TODO Synchronization
   /**
  - *
  - * @author Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
  + *@author     Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
    *      baliuka@mwm.lt</a>
  - * @version $Id: DBStorage.java,v 1.2 2002/02/09 13:49:47 baliuka Exp $
  + *@version    $Id: DBStorage.java,v 1.3 2002/02/09 18:54:10 froehlich Exp $
    */
  -public class DBStorage extends AbstractStorage{
  -    
  -    private static final boolean DEBUG = true;
  -    private static final String CONNECTION = "org.apache.commons.simplestore.jdbc.DBStorage.connection";
  +public class DBStorage extends AbstractStorage {
  +
  +    private final static boolean DEBUG = true;
  +    private final static String CONNECTION = "org.apache.commons.simplestore.jdbc.DBStorage.connection";
  +    private static java.util.Properties procedures = new java.util.Properties();
       private Store store = null;
       private javax.sql.DataSource ds;
  -    private static java.util.Properties procedures = new java.util.Properties();
  -    
  -    
  -    
  -    interface ResultSetHandler {
  -        public void nextResult(int index,String name,Object value ,int type)throws StorageException;
  +
  +    /**
  +     * Creates new DBStorageManager
  +     *
  +     *@param  ds
  +     */
  +    public DBStorage(javax.sql.DataSource ds) {
  +        this.ds = ds;
       }
  -    
  -    class QueryHandler implements ResultSetHandler{
  -        java.util.Map map;
  -        java.util.Set objects;
  -        Class clasz;
  -        InternalTransaction transaction = getTransaction();
  -        
  -        QueryHandler(java.util.Set objects, Class clasz){
  -            this.objects = objects;
  -            this.clasz = clasz;
  +
  +    // TODO must be converter interface
  +    public static Object toSQLType(Object object) {
  +
  +        if (object == null) {
  +            return null;
           }
  -        
  -        public void nextResult( int index,String name,Object value , int type )throws StorageException{
  -            try{
  -                if( index == 1 ){
  -                    
  -                    Persistent p = (Persistent)store.get( value );
  -                    if( p != null ){
  -                        map = null;
  -                        objects.add(p);
  -                        transaction.add(p.getMetaObject());
  -                        return;
  -                    }
  -                    p =  PersistentProxy.getPersitent(clasz,value,false,DBStorage.this);
  -                    MetaObject pc = p.getMetaObject();
  -                    map = pc.getProperties();
  -                    objects.add(p);
  -                    transaction.add(pc);
  -                    return;
  +        if (object instanceof Boolean) {
  +            boolean value = ((Boolean) object).booleanValue();
  +            return (value ? new Short((short) 1) : new Short((short) 0));
  +        }
  +        if (object instanceof java.util.Date && !(object instanceof java.sql.Date)) {
  +            return new java.sql.Date(((java.util.Date) object).getTime());
  +        }
  +
  +        return object;
  +    }
  +
  +    // TODO must be mapping interface
  +
  +    public static String toSQLName(String clName) {
  +
  +        String result = clName.substring(clName.lastIndexOf('.') + 1, clName.length());
  +        StringBuffer sb = new StringBuffer();
  +        char cbuff[] = result.toCharArray();
  +
  +        for (int i = 0; i < cbuff.length; i++) {
  +
  +            if (Character.isUpperCase(cbuff[i])) {
  +                if (i != 0) {
  +                    sb.append("_" + cbuff[i]);
  +                } else {
  +                    sb.append(cbuff[i]);
                   }
  -                String property = toPropertyName(name);
  -                if( property.equals("Id") || map == null )
  -                    return;
  -                map.put(property , PersistentProxy.convert(value,getReturnType(clasz,"get" + property)) );
  -                
  -            }catch( java.lang.Throwable t ){
  -                t.printStackTrace();
  -                throw new StorageException( t.getMessage(), t );
  -                
  +
  +            } else {
  +
  +                sb.append(Character.toUpperCase(cbuff[i]));
               }
  +
           }
  +
  +        return sb.toString();
       }
  -    
  -    /** Creates new DBStorageManager */
  -    public DBStorage(javax.sql.DataSource ds) {
  -        this.ds = ds;
  -    }
  -    
  -    public void registerClass( Class clasz ){
  -        
  -        try{
  -            
  -            java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle(clasz.getName() + "Procedures");
  -            java.util.Enumeration enum = bundle.getKeys();
  -            
  -            while( enum.hasMoreElements() ){
  -                Object key = enum.nextElement();
  -                procedures.setProperty(key.toString(),bundle.getString(key.toString()));
  +
  +    // TODO must be mapping interface
  +    public static String toPropertyName(String tblName) {
  +
  +        final String result = tblName;
  +        final StringBuffer sb = new StringBuffer();
  +        final char cbuff[] = result.toCharArray();
  +
  +        for (int i = 0; i < cbuff.length; i++) {
  +
  +            if (cbuff[i] == '_') {
  +
  +                sb.append(Character.toUpperCase(cbuff[++i]));
  +
  +            } else {
  +                if (i == 0) {
  +                    sb.append(Character.toUpperCase(cbuff[i]));
  +                } else {
  +                    sb.append(Character.toLowerCase(cbuff[i]));
  +                }
               }
  -            
  -        }catch(Exception e){
  -            e.printStackTrace();
  +
           }
  +
  +        return sb.toString();
       }
  -    
  -    protected void createObject(  MetaObject properties ) throws StorageException{
  -        
  -        final java.sql.Connection connection = getConnection();
  -        final Class clasz = properties.getPersistentClass();
  -        final Object id = properties.getOID();
  -        final java.lang.reflect.Method methods[] = clasz.getMethods();
  -        final java.util.Map map = properties.getProperties();
  -        final java.util.List values = new java.util.ArrayList( methods.length/2 + 1 );
  -        
  -        String names  = "";
  -        String params  = "";
  -        values.add(id);
  -        
  -        for( int i = 0; i < methods.length; i++ ){
  -            
  -            String name = methods[i].getName();
  -            if( name.startsWith("set")){
  -                name = name.substring( 3 );
  -                Object value = toSQLType(map.get(name));
  -                if( value == null )continue;
  -                names += "," + toSQLName(name);
  -                values.add(value);
  -                params += ",?";
  +
  +    public static int excecute(java.sql.Connection connection, String sql, Object[] args, ResultSetHandler eh) throws StorageException {
  +
  +        int result = 0;
  +        try {
  +
  +            final java.sql.PreparedStatement statement = connection.prepareStatement(sql);
  +            java.sql.ResultSet rs = null;
  +            if (DEBUG) {
  +                System.out.println(sql);
               }
  -            
  +            try {
  +                if (args != null) {
  +
  +                    for (int i = 1; i <= args.length; i++) {
  +
  +                        if (args[i - 1] == null) {
  +                            statement.setNull(i, java.sql.Types.OTHER);
  +                        } else {
  +                            statement.setObject(i, args[i - 1]);
  +                        }
  +                    }
  +                }
  +                if (statement.execute()) {
  +                    rs = statement.getResultSet();
  +                } else {
  +                    return statement.getUpdateCount();
  +                }
  +
  +                do {
  +                    if (rs != null && eh != null) {
  +
  +                        java.sql.ResultSetMetaData rsmd = rs.getMetaData();
  +                        int cnt = rsmd.getColumnCount();
  +
  +                        while (rs.next()) {
  +                            result++;
  +                            for (int i = 1; i <= cnt; i++) {
  +                                String name = rsmd.getColumnName(i);
  +                                Object val = rs.getObject(i);
  +                                eh.nextResult(i, name, val, rsmd.getColumnType(i));
  +                            }
  +                        }
  +
  +                    }
  +                    if (statement.getMoreResults()) {
  +                        rs = statement.getResultSet();
  +                    } else {
  +                        break;
  +                    }
  +                } while (rs != null);
  +            } finally {
  +
  +                if (rs != null) {
  +                    rs.close();
  +                }
  +                if (statement != null) {
  +                    statement.close();
  +                }
  +            }
  +        } catch (java.sql.SQLException se) {
  +            throw new StorageException(sql, se);
           }
  -        
  -        
  -        final String sql = "INSERT INTO " + toSQLName(clasz.getName()) + "(ID" + names + ")VALUES(?" + params + ")" ;
  -        
  -        excecute(connection,sql,values.toArray(),null);
  -        
  -        
  +        return result;
       }
  -    
  -    // TODO must be converter interface
  -    public static Object toSQLType(Object object){
  -        
  -        if( object == null )
  -            return null;
  -        if( object instanceof Boolean ){
  -            boolean value = ((Boolean)object).booleanValue();
  -            return (  value ? new Short((short)1) :  new Short((short)0)  );
  -        }
  -        if( object instanceof java.util.Date && !(object instanceof java.sql.Date) ){
  -            return new java.sql.Date(((java.util.Date)object).getTime());
  +
  +    public void setContext(Store store) {
  +        this.store = store;
  +    }
  +
  +
  +    public Class getReturnType(Class clasz, String name) throws java.lang.Throwable {
  +        try {
  +
  +            return clasz.getMethod(name, null).getReturnType();
  +        } catch (java.lang.NoSuchMethodException nsme) {
  +
  +            throw new java.lang.NoSuchMethodException("Method " + name + " not found in class " + clasz.getName() + " " + nsme.getMessage());
           }
  -        
  -        return object;
  +
       }
  -    
  -    
  -    public Class getReturnType( Class clasz, String name )throws java.lang.Throwable{
  -        try{
  -            
  -            return clasz.getMethod(name,null).getReturnType();
  -            
  -        }catch( java.lang.NoSuchMethodException nsme ){
  -            
  -            throw new java.lang.NoSuchMethodException("Method " + name + " not found in class " + clasz.getName() +" "  + nsme.getMessage() );
  -            
  +
  +    public void registerClass(Class clasz) {
  +
  +        try {
  +
  +            java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle(clasz.getName() + "Procedures");
  +            java.util.Enumeration enum = bundle.getKeys();
  +
  +            while (enum.hasMoreElements()) {
  +                Object key = enum.nextElement();
  +                procedures.setProperty(key.toString(), bundle.getString(key.toString()));
  +            }
  +
  +        } catch (Exception e) {
  +            e.printStackTrace();
           }
  -        
       }
  -    
  +
       public Object retrieveObject(final Class clasz, Object id) throws StorageException {
  -        
  +
           final InternalTransaction transaction = getTransaction();
  -        Persistent result = (Persistent)store.get(id);
  -        
  -        if( result != null ){
  +        Persistent result = (Persistent) store.get(id);
  +
  +        if (result != null) {
               transaction.add(result.getMetaObject());
               return result;
           }
  -        
  +
           final java.sql.Connection connection = getConnection();
           final String sql = "SELECT * FROM " + toSQLName(clasz.getName()) + " WHERE ID=?";
  -        result = (Persistent)PersistentProxy.getPersitent(clasz,id,false,this);
  +        result = (Persistent) PersistentProxy.getPersitent(clasz, id, false, this);
           final MetaObject pc = result.getMetaObject();
           final java.util.Map map = pc.getProperties();
  -        
  -        ResultSetHandler rsh = new ResultSetHandler(){
  -            
  -            public void nextResult( int index,String name,Object value , int type )throws StorageException{
  -                
  -                try{
  -                    if(value != null ){
  -                        String property = toPropertyName(name);
  -                        if( property.equals("Id") )
  -                            return;
  -                        map.put(property , PersistentProxy.convert(value,getReturnType(clasz,"get" + property)) );
  +
  +        ResultSetHandler rsh =
  +            new ResultSetHandler() {
  +
  +                public void nextResult(int index, String name, Object value, int type) throws StorageException {
  +
  +                    try {
  +                        if (value != null) {
  +                            String property = toPropertyName(name);
  +                            if (property.equals("Id")) {
  +                                return;
  +                            }
  +                            map.put(property, PersistentProxy.convert(value, getReturnType(clasz, "get" + property)));
  +                        }
  +                    } catch (java.lang.Throwable t) {
  +                        t.printStackTrace();
  +                        throw new StorageException(t.getMessage(), t);
                       }
  -                }catch(java.lang.Throwable t){
  -                    t.printStackTrace();
  -                    throw new StorageException(t.getMessage(),t);
                   }
  -            }
  -            
  -        };
  -        
  -        if( excecute(connection,sql,new Object[]{id}, rsh ) == 0 )
  -            throw new ObjectNotFound( pc.getOID().toString(), null );
  -        
  +
  +            };
  +
  +        if (excecute(connection, sql, new Object[]{id}, rsh) == 0) {
  +            throw new ObjectNotFound(pc.getOID().toString(), null);
  +        }
  +
           transaction.add(pc);
  -        store.put(id,result);
  -        
  +        store.put(id, result);
  +
           return result;
       }
  -    
  -    public java.util.Set retrieveAll(final Class clasz) throws StorageException{
  -        
  +
  +    public java.util.Set retrieveAll(final Class clasz) throws StorageException {
  +
           final java.sql.Connection connection = getConnection();
  -        final  String sql = "SELECT ID AS INTERNAL_OID, * FROM " +  toSQLName( clasz.getName() );
  +        final String sql = "SELECT ID AS INTERNAL_OID, * FROM " + toSQLName(clasz.getName());
           final java.util.Set objects = new java.util.HashSet();
           final InternalTransaction transaction = getTransaction();
  -        
  -        excecute(connection,sql,null,new QueryHandler( objects, clasz ));
  -        
  +
  +        excecute(connection, sql, null, new QueryHandler(objects, clasz));
  +
           return objects;
       }
  -    
  -    
  -    
  -    public java.util.Set query(final Class clasz, String proc, Object[] args) throws StorageException{
  -        
  +
  +
  +    public java.util.Set query(final Class clasz, String proc, Object[] args) throws StorageException {
  +
           final java.sql.Connection connection = getConnection();
           final java.util.Set objects = new java.util.HashSet();
           final InternalTransaction transaction = getTransaction();
           proc = procedures.getProperty(proc);
  -        
  -        excecute(connection,proc,args, new QueryHandler(objects,clasz)  );
  -        
  +
  +        excecute(connection, proc, args, new QueryHandler(objects, clasz));
  +
           return objects;
       }
  -    
  -    // TODO must be mapping interface
  -    
  -    public  static String toSQLName(String clName){
  -        
  -        String result = clName.substring(clName.lastIndexOf('.') + 1, clName.length() );
  -        StringBuffer sb = new StringBuffer();
  -        char cbuff [] = result.toCharArray();
  -        
  -        for(int i = 0; i < cbuff.length; i++ ){
  -            
  -            if( Character.isUpperCase( cbuff[i] )){
  -                if( i != 0 ){
  -                    sb.append( "_" + cbuff[i] );
  -                }else sb.append(  cbuff[i] );
  -                
  -            }else{
  -                
  -                sb.append( Character.toUpperCase(cbuff[i]) );
  -            }
  -            
  -        }
  -        
  -        return sb.toString();
  -        
  -    }
  -    
  -    // TODO must be mapping interface
  -    public   static String toPropertyName(String tblName){
  -        
  -        
  -        final String result = tblName;
  -        final StringBuffer sb = new StringBuffer();
  -        final char cbuff [] = result.toCharArray();
  -        
  -        for( int i = 0; i < cbuff.length; i++ ){
  -            
  -            if( cbuff[i] == '_' ){
  -                
  -                sb.append( Character.toUpperCase(cbuff[ ++i ]) );
  -                
  -            }else{
  -                if( i == 0 )
  -                    sb.append( Character.toUpperCase(cbuff[i]) );
  -                else sb.append( Character.toLowerCase(cbuff[i]) );
  -            }
  -            
  -        }
  -        
  -        return sb.toString();
  -        
  -        
  -    }
  -    
  -    protected void removeObject( MetaObject obj )throws StorageException{
  -        
  -        final java.sql.Connection connection = getConnection();
  -        final String name = toSQLName(obj.getPersistentClass().getName());
  -        final Object id   = obj.getOID();
  -        final String sql  = "DELETE FROM " + name + " WHERE ID=?";
  -        
  -        excecute(connection,sql, new Object[]{id}, null );
  -    }
  -    
  -    
  +
  +
       public void storeObject(MetaObject properties) throws StorageException {
  -        
  +
           final java.sql.Connection connection = getConnection();
           final Class clasz = properties.getPersistentClass();
           final String name = toSQLName(clasz.getName());
           final java.lang.reflect.Method methods[] = clasz.getMethods();
  -        final java.util.List values = new java.util.ArrayList( methods.length/2 + 1 );
  +        final java.util.List values = new java.util.ArrayList(methods.length / 2 + 1);
           final java.util.Map map = properties.getProperties();
  -        final StringBuffer names = new StringBuffer(methods.length*10);
  -        
  -        for( int i = 0; i < methods.length; i++ ){
  -            
  +        final StringBuffer names = new StringBuffer(methods.length * 10);
  +
  +        for (int i = 0; i < methods.length; i++) {
  +
               String mName = methods[i].getName();
  -            if( mName.startsWith("set")){
  +            if (mName.startsWith("set")) {
                   mName = mName.substring(3);
  -                Object value = toSQLType(map.get( mName ));
  -                names.append(toSQLName( mName ));
  +                Object value = toSQLType(map.get(mName));
  +                names.append(toSQLName(mName));
                   names.append("=?,");
  -                values.add( value );
  -                
  +                values.add(value);
  +
               }
  -            
           }
  -        names.setCharAt(names.length() - 1,' ');
  +        names.setCharAt(names.length() - 1, ' ');
           names.append("WHERE ID=?");
           values.add(properties.getOID());
  -        
  +
           final String sql = "UPDATE " + name + " SET " + names;
  -        
  -        excecute(connection,sql,values.toArray(),null);
  -        
  -        
  +
  +        excecute(connection, sql, values.toArray(), null);
  +
       }
  -    
  +
  +    public void close() {
  +
  +        try {
  +
  +            java.sql.Connection connection = (java.sql.Connection) getTransaction().getAttribute(CONNECTION);
  +            if (connection != null) {
  +                connection.close();
  +            }
  +        } catch (Exception e) {
  +
  +            e.printStackTrace();
  +            // TODO
  +        }
  +    }
  +
  +    protected void createObject(MetaObject properties) throws StorageException {
  +
  +        final java.sql.Connection connection = getConnection();
  +        final Class clasz = properties.getPersistentClass();
  +        final Object id = properties.getOID();
  +        final java.lang.reflect.Method methods[] = clasz.getMethods();
  +        final java.util.Map map = properties.getProperties();
  +        final java.util.List values = new java.util.ArrayList(methods.length / 2 + 1);
  +
  +        String names = "";
  +        String params = "";
  +        values.add(id);
  +
  +        for (int i = 0; i < methods.length; i++) {
  +
  +            String name = methods[i].getName();
  +            if (name.startsWith("set")) {
  +                name = name.substring(3);
  +                Object value = toSQLType(map.get(name));
  +                if (value == null) {
  +                    continue;
  +                }
  +                names += "," + toSQLName(name);
  +                values.add(value);
  +                params += ",?";
  +            }
  +        }
  +
  +        final String sql = "INSERT INTO " + toSQLName(clasz.getName()) + "(ID" + names + ")VALUES(?" + params + ")";
  +
  +        excecute(connection, sql, values.toArray(), null);
  +
  +    }
  +
  +    protected void removeObject(MetaObject obj) throws StorageException {
  +
  +        final java.sql.Connection connection = getConnection();
  +        final String name = toSQLName(obj.getPersistentClass().getName());
  +        final Object id = obj.getOID();
  +        final String sql = "DELETE FROM " + name + " WHERE ID=?";
  +
  +        excecute(connection, sql, new Object[]{id}, null);
  +    }
  +
       protected void internalCommit() throws StorageException {
  -        try{
  -            
  +        try {
  +
               java.sql.Connection connection = getConnection();
  -            
  -            try{
  -                
  +
  +            try {
  +
                   connection.commit();
  -                
  -            }finally{
  -                
  +
  +            } finally {
  +
                   connection.close();
  -                
  +
               }
  -        }catch( java.sql.SQLException se){
  -            throw new StorageException(se.getMessage() ,se);
  -            
  +        } catch (java.sql.SQLException se) {
  +            throw new StorageException(se.getMessage(), se);
           }
       }
  -    
  +
       protected void internalRollback() throws StorageException {
  -        
  -        try{
  -            
  +
  +        try {
  +
               java.sql.Connection connection = getConnection();
  -            
  -            try{
  -                
  +
  +            try {
  +
                   connection.rollback();
  -                
  -            }finally{
  -                
  +
  +            } finally {
  +
                   connection.close();
  -                
  +
               }
  -        }catch( java.sql.SQLException se){
  -            
  -            throw new StorageException(se.getMessage() ,se);
  -            
  +        } catch (java.sql.SQLException se) {
  +
  +            throw new StorageException(se.getMessage(), se);
           }
       }
  -    
  +
       protected void internalBegin() throws StorageException {
  -        
  -        try{
  -            
  -            java.sql.Connection  connection = ds.getConnection();
  -            getTransaction().setAttribute(CONNECTION,connection);
  -            
  -        }catch( java.sql.SQLException se){
  -            
  -            throw new StorageException(se.getMessage() ,se);
  -            
  +
  +        try {
  +
  +            java.sql.Connection connection = ds.getConnection();
  +            getTransaction().setAttribute(CONNECTION, connection);
  +
  +        } catch (java.sql.SQLException se) {
  +
  +            throw new StorageException(se.getMessage(), se);
           }
       }
  -    
  -    static public int excecute(java.sql.Connection connection,String sql,Object[] args,ResultSetHandler eh )throws StorageException{
  -        
  -        int result = 0;
  -        try{
  -            
  -            final java.sql.PreparedStatement statement = connection.prepareStatement(sql);
  -            java.sql.ResultSet rs = null;
  -            if( DEBUG ){
  -                System.out.println(sql);
  -            }
  -            try{
  -                if(args != null){
  -                    
  -                    
  -                    for(int i = 1 ; i <= args.length; i++ ){
  -                        
  -                        if(args[ i - 1 ] == null ){
  -                            statement.setNull(i , java.sql.Types.OTHER);
  -                        }else{
  -                            statement.setObject(i,args[i - 1]);
  -                        }
  +
  +    private java.sql.Connection getConnection() {
  +
  +        java.sql.Connection connection = (java.sql.Connection) getTransaction().getAttribute(CONNECTION);
  +
  +        if (connection == null) {
  +            throw new java.lang.IllegalStateException("Transaction not Started");
  +        }
  +
  +        return connection;
  +    }
  +
  +    class QueryHandler implements ResultSetHandler {
  +        java.util.Map map;
  +        java.util.Set objects;
  +        Class clasz;
  +        InternalTransaction transaction = getTransaction();
  +
  +        QueryHandler(java.util.Set objects, Class clasz) {
  +            this.objects = objects;
  +            this.clasz = clasz;
  +        }
  +
  +        public void nextResult(int index, String name, Object value, int type) throws StorageException {
  +            try {
  +                if (index == 1) {
  +
  +                    Persistent p = (Persistent) store.get(value);
  +                    if (p != null) {
  +                        map = null;
  +                        objects.add(p);
  +                        transaction.add(p.getMetaObject());
  +                        return;
                       }
  +                    p = PersistentProxy.getPersitent(clasz, value, false, DBStorage.this);
  +                    MetaObject pc = p.getMetaObject();
  +                    map = pc.getProperties();
  +                    objects.add(p);
  +                    transaction.add(pc);
  +                    return;
                   }
  -                if( statement.execute()){
  -                    rs = statement.getResultSet();
  -                }else{
  -                    return statement.getUpdateCount();
  -                    
  +                String property = toPropertyName(name);
  +                if (property.equals("Id") || map == null) {
  +                    return;
                   }
  -                
  -                do{
  -                    if(rs != null && eh != null){
  -                        
  -                        java.sql.ResultSetMetaData rsmd = rs.getMetaData();
  -                        int cnt = rsmd.getColumnCount();
  -                        
  -                        while(rs.next()){
  -                            result++;
  -                            for(int i = 1; i <= cnt; i++  ){
  -                                String name = rsmd.getColumnName(i);
  -                                Object val = rs.getObject(i);
  -                                eh.nextResult(i,name,val,rsmd.getColumnType(i));
  -                            }
  -                        }
  -                        
  -                    }
  -                    if(statement.getMoreResults())
  -                        rs = statement.getResultSet();
  -                    else break;
  -                }while(rs != null);
  -                
  -            }finally{
  -                
  -                if( rs != null)
  -                    rs.close();
  -                if(statement != null)
  -                    statement.close();
  -                
  +                map.put(property, PersistentProxy.convert(value, getReturnType(clasz, "get" + property)));
  +
  +            } catch (java.lang.Throwable t) {
  +                t.printStackTrace();
  +                throw new StorageException(t.getMessage(), t);
               }
  -        }catch( java.sql.SQLException se ){
  -            throw  new StorageException(sql,se);
  -        }
  -        return result;
  -    }
  -    
  -    public void close() {
  -        
  -        try{
  -            
  -            java.sql.Connection connection = (java.sql.Connection)getTransaction().getAttribute(CONNECTION);
  -            if( connection != null )
  -                connection.close();
  -            
  -        }catch( Exception e){
  -            
  -            e.printStackTrace();
  -            // TODO
           }
       }
  -    
  -    public void setContext(Store store) {
  -        this.store = store;
  -    }
  -    
  -    private java.sql.Connection getConnection(){
  -        
  -        java.sql.Connection connection = (java.sql.Connection)getTransaction().getAttribute(CONNECTION);
  -        
  -        if( connection == null )
  -            throw new java.lang.IllegalStateException("Transaction not Started");
  -        
  -        return connection;
  -        
  +
  +
  +    interface ResultSetHandler {
  +        public void nextResult(int index, String name, Object value, int type) throws StorageException;
       }
  -    
  -    
  +
   }
  +
  
  
  

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message