Diff for /FM2SQL/Attic/Convert.java between versions 1.11 and 1.12

version 1.11, 2004/01/15 13:32:09 version 1.12, 2004/01/16 10:21:01
Line 304  class Convert Line 304  class Convert
   }    }
   
   
     public static void update(String source, String destination, Vector names, Vector layouts, Vector selects, Vector creates, int mode) throws Exception
     {
       FM2SQL.ProgressDialog dialog = null;
       if (FM2SQL.fmInstance != null)
       {
         dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance);
         dialog.setTitle("Conversion running ...");
         dialog.title.setText("Getting table data ...");
         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));
         FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
         dialog.thread = Thread.currentThread();
       }
       // setting user and passwd 
       bean.setUserAndPasswd(user, passwd);
       // setting user and passwd 
       beanDest.setUserAndPasswd(userDest, passwdDest);
       if (dialog != null)
         dialog.setSize(400, 250);
       StringBuffer command = null;
       String query = null;
       try
       {
         //bean.setConnection("jdbc:fmpro:http://141.14.237.74:8050");    
         //bean.setConnection("jdbc:postgresql://erebos/test","postgres","rogo");
         bean.setConnection(source);
         if (names == null)
           names = bean.getTableNames();
         // Collections.sort(names);
         int tbIndex = 1;
   
         // System.out.println("Start at "+names.indexOf("archimedes_facsimiles"));
         for (tbIndex = 0; tbIndex < names.size(); ++tbIndex)
         {
           Vector[] result = null;
           try
           {
             query = "select * from " + bean.getQC() + names.get(tbIndex).toString() + bean.getQC();
             String layout = (layouts.isEmpty()) ? "" : layouts.get(tbIndex).toString();
             query = (selects != null) ? selects.get(tbIndex).toString() : query;
             //if  vectors[1].get(i) != null)
             if (layout != "")
             {
               layout = " layout " + bean.getQC() + layout + bean.getQC();
               String name = names.get(tbIndex).toString();
               StringBuffer queryLayout = new StringBuffer(query);
               queryLayout.insert(queryLayout.indexOf(name) + name.length() + 1, " " + layout);
               query = queryLayout.toString();
               System.out.println("added layout  " + query);
   
             }
             dialog.title.setText("Getting table data ...");
             dialog.table.setText(names.get(tbIndex).toString());
             dialog.status.setText("Table " + (tbIndex + 1) + " of " + names.size());
             dialog.show();
             bean.getConnection();
             bean.makeQuery(query, 0);
           } catch (Exception e)
           {
             continue;
           }
           //beanDest.setConnection("jdbc:postgresql://erebos/test3");
           beanDest.setConnection(destination);
   
           Statement stm = beanDest.getConnection().createStatement();
   
           Vector tables = beanDest.getTableNames();
           // Collections.sort(tables);
           System.out.println(names.get(tbIndex) + " " + tables.indexOf(convertText((String) names.get(tbIndex)))); // "//beanDest.getTypeNames()); 
           tables = beanDest.getTableNames();
           // System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString()));
           stm = beanDest.getConnection().createStatement();
           // System.exit(0);
       
           if (dialog != null)
             dialog.title.setText("Writing table data ...");
   
           int j = -1;
           Vector row = null;
           command = new StringBuffer();
   
           command.append("UPDATE ");
           command.append(beanDest.getQC());
           command.append(convertText((String) names.get(tbIndex)));
           command.append(beanDest.getQC());
           command.append(" SET  ");
   
           int size = bean.getColumnNames().size();
           for (int i = 0; i < size - 1; ++i)
             command.append(convertText((String)bean.getColumnNames().get(i))+" = ?");
           command.append(convertText((String)bean.getColumnNames().get(size-1))+" = ?");
           PreparedStatement pstm = beanDest.getConnection().prepareStatement(command.toString());
           System.out.println(command);
           int rowCount = bean.getRowCount(query);
           while ((row = bean.getNextRow()) != null)
           {
             j++;
             //print rows
             Object obj = null;
             /* for(int k=0;k<row.size()-1;++k)
              {
                   obj = row.get(k);
                   //System.out.println("row "+obj+" "+k);
                if(obj!=null&&!(obj instanceof ArrayList))
                command.append("'"+convertUml(obj.toString())+"',"); 
                else if(obj!=null&&   obj instanceof ArrayList)
                command.append("'"+convertUml(((ArrayList)obj).get(0).toString())+"',"); 
                else command.append("NULL,");
              }
              obj = row.get(row.size() - 1);
              if (obj != null && !(obj instanceof ArrayList))
              command.append("'"+convertUml(obj.toString())+"')"); 
               else
               if(obj!=null&&   obj instanceof ArrayList)
                command.append("'"+convertUml(((ArrayList)obj).get(0).toString())+"')");         //command.append(obj.toString()+")");
                else command.append("NULL)");
               */
             //command.append("'"+row.get(row.size()-1)+"')"); 
             //command.append(" )");
             //  for(int k=0;k<row.size();++k)
   
             // System.out.println();
             //   System.out.println(command+" "+j+" "+row.size()+" "+  ((Vector)result2[0].get(j)).size());
             // System.out.println(command);
             for (int k = 0; k < row.size(); ++k)
             {
               obj = row.get(k);
               if (obj instanceof ArrayList)
                 obj = ((List) obj).get(0);
               String str = (obj == null) ? "NULL" : obj.toString();
               if (!str.equals("NULL"))
                 pstm.setString(k + 1, str);
               else
                 pstm.setNull(k + 1, Types.NULL);
             }
             pstm.execute();
             //stm.executeUpdate(command.toString());
             if(dialog!=null)
             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);
             command = null;
           } // to for loop    
   
         }
       } 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 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,int mode) throws Exception
   {    {

Removed from v.1.11  
changed lines
  Added in v.1.12


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