Diff for /FM2SQL/Attic/Convert.java between versions 1.18 and 1.27

version 1.18, 2004/01/20 21:16:10 version 1.27, 2004/02/10 12:52:30
Line 1 Line 1
   
   
 import java.util.*;  import java.util.*;
 import java.sql.*;  import java.sql.*;
 import java.awt.Cursor;  import java.awt.Cursor;
Line 26  class Convert Line 25  class Convert
   static String userDest="postgres",passwdDest="rogo";    static String userDest="postgres",passwdDest="rogo";
   static boolean batchRun=false;    static boolean batchRun=false;
   static Vector databases = new Vector();    static Vector databases = new Vector();
       final static int numIntervalls = 10;
   public static void main(String args[])    public static void main(String args[])
   {    {
 /*    try  /*    try
Line 382  class Convert Line 381  class Convert
           dialog.title.setText("Writing table data ...");            dialog.title.setText("Writing table data ...");
   
         int j = -1;          int j = -1;
       
         Vector row = null;          Vector row = null;
         command = new StringBuffer();          command = new StringBuffer();
   
Line 481  class Convert Line 481  class Convert
   
   
   
   public static void  convert(String source,String destination,Vector names,Vector layouts,Vector selects,Vector creates,int mode) throws Exception    public static void  convert(String source,String destination,Vector names,Vector layouts,Vector selects,Vector creates,Vector ids,int mode) throws Exception
   {    {
    FM2SQL.ProgressDialog dialog = new  FM2SQL.ProgressDialog(FM2SQL.fmInstance);     FM2SQL.ProgressDialog dialog = new  FM2SQL.ProgressDialog(FM2SQL.fmInstance);
    dialog.setTitle("Conversion running ...");     dialog.setTitle("Conversion running ...");
Line 489  class Convert Line 489  class Convert
    dialog.setLocation(FM2SQL.fmInstance.getLocationOnScreen().x+(FM2SQL.fmInstance.getWidth()-400)/2,FM2SQL.fmInstance.getLocationOnScreen().y+(FM2SQL.fmInstance.getHeight()-250)/2);      dialog.setLocation(FM2SQL.fmInstance.getLocationOnScreen().x+(FM2SQL.fmInstance.getWidth()-400)/2,FM2SQL.fmInstance.getLocationOnScreen().y+(FM2SQL.fmInstance.getHeight()-250)/2); 
      dialog.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));       dialog.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
      FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));       FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        java.util.TreeSet myIds = new TreeSet();
      int deltaID = 1;
      String idField = "";
    dialog.thread=Thread.currentThread();     dialog.thread=Thread.currentThread();
    // setting user and passwd      // setting user and passwd 
    bean.setUserAndPasswd(user,passwd);     bean.setUserAndPasswd(user,passwd);
Line 511  class Convert Line 514  class Convert
       for(tbIndex=0;tbIndex<names.size();++tbIndex)        for(tbIndex=0;tbIndex<names.size();++tbIndex)
       {        {
         Vector[] result = null;          Vector[] result = null;
        try {        try
         {
         query = "select * from " + bean.getQC() +names.get(tbIndex).toString() + bean.getQC();          query = "select * from " + bean.getQC() +names.get(tbIndex).toString() + bean.getQC();
        String layout=(layouts.isEmpty()) ? "":layouts.get(tbIndex).toString();          String layout=(layouts.isEmpty()) ? "":layouts.get(tbIndex).toString(); 
      query = (selects!=null) ? selects.get(tbIndex).toString():query;       query = (selects!=null) ? selects.get(tbIndex).toString():query;
Line 534  class Convert Line 538  class Convert
         dialog.show();          dialog.show();
         //result = bean.getQueryData(query, dialog, 0);          //result = bean.getQueryData(query, dialog, 0);
         bean.getConnection();          bean.getConnection();
         bean.makeQuery(query,0);          bean.makeQuery(query, 50);
          // @TODO id Vector must be used in querys while loop over id ranges where id>=start and id<=end
          idField = ids.get(tbIndex).toString();
           if (idField != "")
           {
             myIds = bean.getIDVector(ids.get(tbIndex).toString(), (String) names.get(tbIndex), query);
             System.out.println("ID LIST SIZE " + Math.round((double) myIds.size() / (double) numIntervalls) + " " + myIds.size());
             deltaID = (int) Math.round((double) myIds.size() / (double) numIntervalls);
           }
       } catch (Exception e)        } catch (Exception e)
         {          {
           System.out.println(e);
           continue;            continue;
         }          }
         //beanDest.setConnection("jdbc:postgresql://erebos/test3");          //beanDest.setConnection("jdbc:postgresql://erebos/test3");
Line 638  class Convert Line 651  class Convert
     command.append("?)");      command.append("?)");
     PreparedStatement pstm = beanDest.getConnection().prepareStatement(command.toString());      PreparedStatement pstm = beanDest.getConnection().prepareStatement(command.toString());
     System.out.println(command);      System.out.println(command);
     int rowCount= bean.getRowCount(query);      int rowCount= (idField!="") ? myIds.size():bean.getRowCount(query);
       Vector vec = new Vector(myIds);
       int endIndex = -1;
       String tempQuery="";String tempID = bean.getQC()+idField+bean.getQC();
       if (!idField.equals(""))
       {
         for (int k = 0; k < vec.size() - deltaID; k = k + deltaID)
         {
           System.out.println(vec.get(k) + " " + vec.get(k + deltaID) + " " + vec.lastElement());
           if (query.indexOf("where") > 0)
             tempQuery = query + " and " + tempID + ">=" + vec.get(k) + " and " + tempID + "<=" + vec.get(k + deltaID);
           else
             tempQuery = query + "where " + tempID + ">=" + vec.get(k) + " and " + tempID + "<=" + vec.get(k + deltaID);
           System.out.println(tempQuery);
           dialog.title.setText("Reading table data ...");
     
           bean.makeQuery(tempQuery, 0);
           dialog.title.setText("Writing table data ...");
     
           command = writeDatainDestTable(dialog, command, k, pstm, rowCount);
           endIndex = k + deltaID;
         }
         if ((vec.size() - 1) % numIntervalls == 0)
           System.out.println("fits");
         else
         {
           if (query.indexOf("where") > 0)
             tempQuery = query + " and " + tempID + ">=" + vec.get(endIndex) + " and " + tempID + "<=" + vec.lastElement();
           else
             tempQuery = query + "where " + tempID + ">=" + vec.get(endIndex) + " and " + tempID + "<=" + vec.lastElement();
           System.out.println(tempQuery);
           dialog.title.setText("Reading table data ...");
            bean.makeQuery(tempQuery, 0);
           dialog.title.setText("Writing table data ...");
           command = writeDatainDestTable(dialog, command, j, pstm, rowCount);
   
           System.out.println(" last intervall from " + vec.get(endIndex) + " " + vec.lastElement());
           command = writeDatainDestTable(dialog, command, endIndex, pstm, rowCount);
         }
       } else
       {
         bean.makeQuery(query, 0);
         command = writeDatainDestTable(dialog, command, j, pstm, rowCount);
       }
     }
    } catch(Exception e) 
      {
        System.out.println("Error while connecting to database "+ e);
        dialog.setVisible(false);
          dialog.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
            FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
            java.io.ByteArrayOutputStream b = new java.io.ByteArrayOutputStream();
            java.io.PrintStream stream = new java.io.PrintStream(b);
            stream.print(command+"\n\n");
            e.printStackTrace(stream);
            FM2SQL.showErrorDialog(b.toString(), "Error occured !");
        
      }
        dialog.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
        FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
   
        dialog.setVisible(false); 
     }
     private static StringBuffer writeDatainDestTable(FM2SQL.ProgressDialog dialog, StringBuffer command, int j, PreparedStatement pstm, int rowCount) throws Exception, SQLException
     {
       Vector row;
     while((row=bean.getNextRow())!=null)      while((row=bean.getNextRow())!=null)
     {      {
       j++;        j++;
Line 692  class Convert Line 770  class Convert
       dialog.progress.setValue((int) (((double) (j + 1) / (double) rowCount) * 100.0));        dialog.progress.setValue((int) (((double) (j + 1) / (double) rowCount) * 100.0));
     // System.out.println( (int)(((double)(j+1)/(double)result[0].size())*100.0)+" "+result[0].size()+" "+j);      // System.out.println( (int)(((double)(j+1)/(double)result[0].size())*100.0)+" "+result[0].size()+" "+j);
    command = null;     command = null;
 }// to for loop          }// to while loop    
          return command;
     }  
  } catch(Exception e)   
    {  
      System.out.println("Error while connecting to database "+ e);  
      dialog.setVisible(false);  
        dialog.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));  
          FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));  
          java.io.ByteArrayOutputStream b = new java.io.ByteArrayOutputStream();  
          java.io.PrintStream stream = new java.io.PrintStream(b);  
          stream.print(command+"\n\n");  
          e.printStackTrace(stream);  
          FM2SQL.showErrorDialog(b.toString(), "Error occured !");  
        
    }  
      dialog.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));  
      FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));  
   
      dialog.setVisible(false);   
   }    }
   
  public static String convertText(String newName)   public static String convertText(String newName)

Removed from v.1.18  
changed lines
  Added in v.1.27


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