Diff for /FM2SQL/Attic/DBBean.java between versions 1.21 and 1.32

version 1.21, 2004/06/10 13:19:18 version 1.32, 2004/09/20 09:00:58
Line 13 Line 13
  * rogo     * rogo  
  */   */
   
   
 import java.sql.*;  import java.sql.*;
 import java.text.DateFormat;  import java.text.DateFormat;
 import java.text.ParseException;  import java.text.ParseException;
Line 66  import com.fmi.jdbc.*; Line 65  import com.fmi.jdbc.*;
  */   */
 public class DBBean  public class DBBean
 {  {
     private boolean useNormanToUnicodeMapper = false;
   Connection connection;    Connection connection;
   String url = "";    String url = "";
   DatabaseMetaData dbMetaData;    DatabaseMetaData dbMetaData;
Line 86  public class DBBean Line 86  public class DBBean
       DriverManager.registerDriver((Driver) Class.forName("org.postgresql.Driver").newInstance());        DriverManager.registerDriver((Driver) Class.forName("org.postgresql.Driver").newInstance());
       DriverManager.registerDriver((Driver) Class.forName("com.mysql.jdbc.Driver").newInstance());        DriverManager.registerDriver((Driver) Class.forName("com.mysql.jdbc.Driver").newInstance());
       DriverManager.registerDriver((Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance());        DriverManager.registerDriver((Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance());
         DriverManager.registerDriver((Driver) Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance());
       DriverManager.registerDriver((Driver) Class.forName("acs.jdbc.Driver").newInstance());        DriverManager.registerDriver((Driver) Class.forName("acs.jdbc.Driver").newInstance());
             
       // wait a maximum of 10 seconds when attempting to establish a connection        // wait a maximum of 10 seconds when attempting to establish a connection
Line 189  public class DBBean Line 190  public class DBBean
   {    {
       // setup the properties         // setup the properties 
        java.util.Properties prop = new java.util.Properties();         java.util.Properties prop = new java.util.Properties();
        prop.put("charSet", "Cp1256");      // prop.put("charSet", "MacCentralEurope");
        prop.put("user", user);         prop.put("user", user);
        prop.put("password", passwd);         prop.put("password", passwd);
     System.out.println("url "+url);      System.out.println("url "+url);
     if(url.indexOf("odbc")>=0)      if (url.indexOf("fmpro") >= 0)
     {      {
     // Connect to the database      // Connect to the database
       connection = DriverManager.getConnection(url, prop);        connection = DriverManager.getConnection(url, prop);
       System.out.println("odbc with properties inited");        System.out.println("odbc with properties inited");
     }      } else
     else  
     connection = DriverManager.getConnection(url, user, passwd);      connection = DriverManager.getConnection(url, user, passwd);
     connectionPool.put(url, new ConnectionPool(url, user, passwd, connection));      connectionPool.put(url, new ConnectionPool(url, user, passwd, connection));
           
Line 613  public class DBBean Line 613  public class DBBean
           // container fields            // container fields
           try            try
           {            {
             tableRow.addElement(new Double(resultSet.getDouble(i)));              Double value =new Double(resultSet.getDouble(i));
             m_columnClasses.addElement(Double.class);            
             
             // tableRow.addElement(new Double(resultSet.getDouble(i)));
             String tVal =value.toString();
             tVal = tVal.substring(tVal.indexOf('.')+1);
             boolean checkMe = tVal.length()==1&&tVal.equals("0");
           //  System.out.println("check was"+checkMe+" "+tVal);
             if(checkMe)
             tableRow.addElement(new Integer(value.intValue()));
             else          
             tableRow.addElement(value);
   
           } catch (Exception e)            } catch (Exception e)
           {            {
Line 709  public class DBBean Line 719  public class DBBean
   
     if (!connection.isClosed())      if (!connection.isClosed())
       stm = connection.createStatement();        stm = connection.createStatement();
     else {      else
             {
               
       try        try
       {        {
Line 724  public class DBBean Line 734  public class DBBean
     }      }
     stm.setMaxRows(numberOfHits);      stm.setMaxRows(numberOfHits);
     long time = System.currentTimeMillis();      long time = System.currentTimeMillis();
     try {      try
       {
     stm.execute(query);      stm.execute(query);
     long time2 = System.currentTimeMillis();      long time2 = System.currentTimeMillis();
         
Line 734  public class DBBean Line 745  public class DBBean
     result = stm.getResultSet();      result = stm.getResultSet();
    // System.out.println(result+" "+stm.getUpdateCount());     // System.out.println(result+" "+stm.getUpdateCount());
     metaData = result.getMetaData();      metaData = result.getMetaData();
     } catch(Exception e) {      } catch (Exception e)
       {
       // TODO remove        // TODO remove
       if(FM2SQL.fmInstance!=null)        if(FM2SQL.fmInstance!=null)
       FM2SQL.showErrorDialog("Error caught!! \n Query was  "+query+" \n","Debug Info");        FM2SQL.showErrorDialog("Error caught!! \n Query was  "+query+" \n","Debug Info");
Line 1346  public class DBBean Line 1358  public class DBBean
         // container fields          // container fields
         try          try
         {          {
           tableRow.addElement(new Double(resultSet.getDouble(i)));              Double value =new Double(resultSet.getDouble(i));
             
             
             // tableRow.addElement(new Double(resultSet.getDouble(i)));
             String tVal =value.toString();
             tVal = tVal.substring(tVal.indexOf('.')+1);
             boolean checkMe = tVal.length()==1&&tVal.equals("0");
           //  System.out.println("check was"+checkMe+" "+tVal);
             if(checkMe)
             tableRow.addElement(new Integer(value.intValue()));
             else          
             tableRow.addElement(value);
      
           // m_columnClasses.addElement(Integer.class);            // m_columnClasses.addElement(Integer.class);
   
         } catch (Exception e)          } catch (Exception e)
Line 1379  public class DBBean Line 1403  public class DBBean
           byte[] b = null;            byte[] b = null;
           if (metaData instanceof ResultSetMetaDataExt)            if (metaData instanceof ResultSetMetaDataExt)
             b = resultSet.getBytes(i);              b = resultSet.getBytes(i);
           if(b!=null)            /*   if (b != null)
           {            {
             java.io.ByteArrayInputStream stream =(java.io.ByteArrayInputStream)resultSet.getBinaryStream(i);              java.io.ByteArrayInputStream stream =(java.io.ByteArrayInputStream)resultSet.getBinaryStream(i);
         //    System.out.println(" stream "+resultSet.getBinaryStream(i));          //    System.out.println(" stream "+resultSet.getBinaryStream(i));
Line 1398  public class DBBean Line 1422  public class DBBean
            }             }
            byte[] bCopy=new byte[count];             byte[] bCopy=new byte[count];
            System.arraycopy(b,0,bCopy,0,count);             System.arraycopy(b,0,bCopy,0,count);
        //    System.out.println();  
          b=bCopy;           b=bCopy;
          }               }*/
           String utf8 = null;            String utf8 = null;
           utf8 = (b == null) ? null : new String(b);            utf8 = (b == null) ? null : new String(b);
           if (metaData instanceof ResultSetMetaDataExt)            if (metaData instanceof ResultSetMetaDataExt)
             tableRow.addElement((b != null) ? Convert.normanToUnicode(utf8) : null);            {
           else              String rowElement = "";
               if (b != null)
               {
                 rowElement = resultSet.getString(i);
                 if (useNormanToUnicodeMapper)
                   rowElement = Convert.normanToUnicode(rowElement);
                 tableRow.addElement(rowElement);
   
               } else
                 tableRow.addElement(null);
             } else
           {            {
             if(url.toLowerCase().indexOf("odbc")>=0)              if(url.toLowerCase().indexOf("odbc")>=0)
            {             {
Line 1421  public class DBBean Line 1454  public class DBBean
           }            }
         } catch (Exception e)          } catch (Exception e)
         {          {
           System.out.println("Hey I Got an error" + e);            System.out.println("Hey I got an error" + e);
           e.printStackTrace();            e.printStackTrace();
         }          }
         // m_columnClasses.addElement(java.lang.String.class);          // m_columnClasses.addElement(java.lang.String.class);
Line 1496  public class DBBean Line 1529  public class DBBean
       ResultSet result = this.result;        ResultSet result = this.result;
       String subQuery = query.substring(query.lastIndexOf(table)+table.length()+1);        String subQuery = query.substring(query.lastIndexOf(table)+table.length()+1);
     System.out.println("subQuery "+subQuery);      System.out.println("subQuery "+subQuery);
     makeQuery("select "+id+" from "+getQC()+table+getQC()+subQuery,numHits );      makeQuery("select " + id + " from " + getQC() + table + getQC() + subQuery+"order by  "+id, numHits);
       while(true)        while(true)
       {        {
       Vector vec = getNextRow();        Vector vec = getNextRow();
Line 1508  public class DBBean Line 1541  public class DBBean
     metaData = (this.result==null) ?null:this.result.getMetaData();      metaData = (this.result==null) ?null:this.result.getMetaData();
     return t;      return t;
     }      }
     /**
      * @return
      */
     public boolean isUseNormanToUnicodeMapper()
     {
       return useNormanToUnicodeMapper;
     }
   
     /**
      * @param b
      */
     public void setUseNormanToUnicodeMapper(boolean b)
     {
       useNormanToUnicodeMapper = b;
     }
     /**
      * 
      */
     protected void closeAllConnections() 
     {
       Enumeration enumeration =  connectionPool.elements();
        while(enumeration.hasMoreElements())
        {
          ConnectionPool conPol =(ConnectionPool)enumeration.nextElement();
          try
         {
           System.out.println(conPol);
           conPol.con.close();
         } catch (SQLException e)
         {
           // TODO Auto-generated catch block
           e.printStackTrace();
         }
        }
      
     }
     /**
      * @param indexField
      */
     public String getColumnType(String indexField) throws SQLException
     {
       Vector names=getColumnNames();
       for (int i = 0; i < names.size(); i++)
       {
         if(names.get(i).toString().equals(indexField))
         {
           System .out.println("found field "+names.get(i)+" "+metaData.getColumnTypeName(i+1));
           return metaData.getColumnTypeName(i+1);   
     
         }
       }
     return "";
     }
   
 }  }
   

Removed from v.1.21  
changed lines
  Added in v.1.32


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>