Changeset 16883

Show
Ignore:
Timestamp:
18.08.2008 16:20:25 (11 years ago)
Author:
xiao
Message:

add changes to work with the ActivityManagement?.java

Location:
greenstone3/trunk/src/java/org/greenstone/gsdl3/sql
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/src/java/org/greenstone/gsdl3/sql/DatabaseFactory.java

    r16652 r16883  
    3636        return server; 
    3737    } catch (Exception e) { 
    38         logger.info("Couldn't load the database server "+ fullName); 
     38        logger.debug("Couldn't load the database server "+ fullName); 
    3939    } 
    4040     
     
    5757       catch (Exception e2) { 
    5858           // failed again, give up 
    59            logger.info("Couldn't load the sql statement  "+ sqlstate); 
     59           logger.debug("Couldn't load the sql statement  "+ sqlstate); 
    6060       } 
    6161       } 
     
    9797            catch (Exception e2) { 
    9898            // failed again, give up 
    99             logger.info("Couldn't load the sql statement  "+ sqlstate); 
     99            logger.debug("Couldn't load the sql statement  "+ sqlstate); 
    100100            } 
    101101        } 
    102102        } 
    103103    } catch (Exception e) { 
    104         logger.info("Couldn't load the database wrapper "+ fullName); 
     104        logger.debug("Couldn't load the database wrapper "+ fullName); 
    105105    } 
    106106     
  • greenstone3/trunk/src/java/org/greenstone/gsdl3/sql/MetadataDBWrapper.java

    r15081 r16883  
    22 
    33import java.util.ArrayList; 
     4 
     5import java.sql.ResultSet; 
     6import java.sql.SQLException; 
     7 
    48import org.greenstone.gsdl3.util.DBInfo; 
    59import org.greenstone.gsdl3.sql.SQLServer; 
     
    1519    public boolean openConnection(String databasepath); 
    1620 
     21    public boolean openAndCreateConnection(String databasepath); 
     22 
    1723     //return a list of rows 
    1824    public ArrayList executeQuery(String query_statement); 
     25 
     26    public ResultSet queryResultSet(String query_statement); 
     27 
     28    public boolean execute(String stat); 
     29 
     30    public boolean executeUpdate(String stat); 
     31 
     32    public void check4Table(String stat) throws SQLException; 
    1933 
    2034    public void closeConnection(String databasepath); 
  • greenstone3/trunk/src/java/org/greenstone/gsdl3/sql/derby/DerbyDBWrapper.java

    r16630 r16883  
    1414import java.util.HashMap; 
    1515import java.util.Iterator; 
     16 
    1617 
    1718import org.greenstone.gsdl3.util.DBInfo; 
     
    6667    } 
    6768    catch(SQLException sqle){ 
    68         logger.error("Database Error occured when creating a statement object",sqle); 
     69        logger.debug("Database Error occured when creating a statement object",sqle); 
    6970        return false; 
    7071    } 
     
    7273    } 
    7374 
    74     //return a list of rows array->hashmap 
     75    public boolean openAndCreateConnection(String databasepath){ 
     76        connection = sqlServer.connectAndCreate(databasepath); 
     77 
     78        if (connection == null) { 
     79            logger.error("sql connection is null. database path="+databasepath); 
     80            return false; 
     81        } 
     82 
     83        try{ 
     84            connection.setAutoCommit(true);  
     85            //by passing the two arguments, the ResultSet returned from executeQuery is updatable 
     86            statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); 
     87            if (statement == null) { 
     88                logger.error("statement is null"); 
     89                return false; 
     90            } 
     91 
     92        } 
     93        catch(SQLException sqle){ 
     94            logger.debug("Database Error occured when creating a statement object",sqle); 
     95            return false; 
     96        } 
     97        return true; 
     98    } 
     99 
    75100    public synchronized ArrayList executeQuery(String query_statement){ 
    76101    //the database hasn't been correct yet 
     
    89114           HashMap arow = new HashMap(); 
    90115           for(int i = 1; i <= numOfColumns ; i++){ 
    91            arow.put(rsmd.getColumnName(i).toLowerCase(), rs.getObject(i)); 
     116               arow.put(rsmd.getColumnName(i).toLowerCase(), rs.getObject(i)); 
    92117           } 
    93118           results.add(arow);   
     
    95120    } 
    96121    catch(SQLException sqle){ 
    97         logger.error("Database Error occured when executeQuery " + query_statement,sqle); 
     122        logger.debug("Database Error occured when executeQuery " + query_statement,sqle); 
    98123        return results; 
    99124    } 
     125    catch(Exception e){          
     126        logger.debug(e); 
     127        return null; 
     128    } 
    100129    return results; 
    101130    } 
    102      
    103      /** check for the existence of a table**/ 
    104     public boolean check4Table (String check_table) { 
    105          try { 
    106       statement.execute(check_table); 
    107       }  catch (SQLException sqle) { 
    108       String theError = (sqle).getSQLState(); 
    109       if (theError.equals("42X05"))   // Table does not exist 
    110           {  
    111           return false; 
    112           }    
    113       else{ 
    114           return true; 
    115       } 
    116       } 
    117       //  System.out.println("Just got the warning - table exists OK "); 
    118       return true; 
    119     }    
     131    /** 
     132     * Same as executeQuery except the return type is ResultSet 
     133     * @param stat 
     134     * @return ResultSet of querying the statement 'stat' 
     135     */ 
     136    public synchronized ResultSet queryResultSet(String stat){ 
     137        ResultSet rs = null; 
     138        try{             
     139            if (statement == null){ 
     140                logger.info("Null sql statement provided."); 
     141                return null; 
     142            } 
     143            logger.debug(stat); 
     144            rs = statement.executeQuery(stat); 
     145             
     146            logger.info("sql stat="+stat+ " result="+rs); 
     147        } 
     148        catch(SQLException sqle){ 
     149            logger.info("Database Error occured when execute query " + stat, sqle); 
     150            return null; 
     151        } 
     152        catch(Exception e){          
     153            logger.info("Exception="+e); 
     154            return null; 
     155        } 
     156        logger.debug(" result="+rs); 
     157        return rs; 
     158    } 
     159    /** 
     160     * Used by create (table) 
     161     */ 
     162    public synchronized boolean execute(String stat) { 
     163        boolean rs; 
     164        try{             
     165            if (statement == null){ 
     166                logger.info("statement is null."); 
     167                return false; 
     168            } 
     169 
     170            rs = statement.execute(stat); 
     171//          connection.commit(); 
     172        } 
     173        catch(SQLException sqle){            
     174            logger.debug("Database Error occured when execute query " + stat, sqle); 
     175            return false; 
     176        } 
     177        catch(Exception e){          
     178            logger.debug(e); 
     179            return false; 
     180        } 
     181        return rs; 
     182    } 
     183    /** 
     184     * Used by insert, update, and delete 
     185     */ 
     186    public synchronized boolean executeUpdate(String stat) { 
     187        int rs; 
     188        try{             
     189            if (statement == null){ 
     190                logger.info("statement is null."); 
     191                return false; 
     192            } 
     193             
     194            //either the row count of INSERT, UPDATE OR DELETE statement, or 0 if the statement returns nothing 
     195            rs = statement.executeUpdate(stat); 
     196//          connection.commit(); 
     197            logger.info("sql stat="+stat+ " result="+rs); 
     198        } 
     199        catch(SQLException sqle){            
     200            logger.info("Database Error occured when execute query " + stat, sqle); 
     201            return false; 
     202        } 
     203        catch(Exception e){          
     204            logger.info("Exception="+e); 
     205            return false; 
     206        } 
     207        logger.info(" result="+rs); 
     208        return (rs==-1)? false : true; 
     209    } 
     210    /** 
     211     * Used by checking the existence of table 
     212     * Same as the method 'execute' except throws SQLException 
     213     */ 
     214    public void check4Table(String stat) throws SQLException { 
     215        statement.executeQuery(stat); 
     216    } 
    120217 
    121218    public void closeConnection(String databasepath){