--- FM2SQL/Attic/Convert.java 2004/01/19 09:40:50 1.16 +++ FM2SQL/Attic/Convert.java 2004/02/09 09:44:49 1.26 @@ -1,5 +1,4 @@ - import java.util.*; import java.sql.*; import java.awt.Cursor; @@ -26,7 +25,7 @@ class Convert static String userDest="postgres",passwdDest="rogo"; static boolean batchRun=false; static Vector databases = new Vector(); - + final static int numIntervalls = 10; public static void main(String args[]) { /* try @@ -59,7 +58,7 @@ class Convert System.out.println("Finished!"); //convert("jdbc:fmpro:http://141.14.237.74:8050","jdbc:postgresql://erebos/test",null,null); } - public static void convertBatch(DBBean source,DBBean destination,Vector names,Vector layouts,Vector selects,Vector creates,int mode) throws Exception + public static void convertBatch(DBBean source,DBBean destination,Vector names,Vector layouts,Vector selects,Vector creates,int mode) throws Exception { /*FM2SQL.ProgressDialog dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance); dialog.setTitle("Conversion running ..."); @@ -69,7 +68,7 @@ class Convert */ // FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); //dialog.thread=Thread.currentThread(); - bean=source; + bean = source; beanDest = destination; /* // setting user and passwd bean.setUserAndPasswd(user,passwd); @@ -382,6 +381,7 @@ class Convert dialog.title.setText("Writing table data ..."); int j = -1; + Vector row = null; command = new StringBuffer(); @@ -398,7 +398,7 @@ class Convert command.append("WHERE "+convertText(ids.get(tbIndex).toString())+ " = ?"); PreparedStatement pstm = beanDest.getConnection().prepareStatement(command.toString()); System.out.println(command+" "+tbIndex); - int rowCount = bean.getRowCount(query); + int rowCount = bean.getRowCount(query); int idIndex = bean.getColumnNames().indexOf(ids.get(tbIndex) ); while ((row = bean.getNextRow()) != null) { @@ -456,9 +456,12 @@ class Convert } 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)); + if (dialog != null) + { + 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"); @@ -466,15 +469,19 @@ class Convert FM2SQL.showErrorDialog(b.toString(), "Error occured !"); } - dialog.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + if (dialog != null) + { + dialog.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + FM2SQL.fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + + dialog.setVisible(false); + } - 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,Vector ids,int mode) throws Exception { FM2SQL.ProgressDialog dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance); dialog.setTitle("Conversion running ..."); @@ -482,6 +489,8 @@ class Convert 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)); + java.util.TreeSet myIds; + int deltaID = 1; dialog.thread=Thread.currentThread(); // setting user and passwd bean.setUserAndPasswd(user,passwd); @@ -504,10 +513,11 @@ class Convert for(tbIndex=0;tbIndex=start and id<=end + 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) - { - continue; - } + { + continue; + } //beanDest.setConnection("jdbc:postgresql://erebos/test3"); beanDest.setConnection(destination); @@ -631,7 +645,19 @@ class Convert command.append("?)"); PreparedStatement pstm = beanDest.getConnection().prepareStatement(command.toString()); System.out.println(command); - int rowCount= bean.getRowCount(query); + int rowCount= myIds.size();//bean.getRowCount(query) + Vector vec = new Vector(myIds); + int endIndex = -1; + for(int k=0;k