Diff for /FM2SQL/src/Convert.java between versions 1.7 and 1.10

version 1.7, 2005/04/11 13:27:12 version 1.10, 2005/04/19 10:49:05
Line 133  class Convert Line 133  class Convert
   
   static Vector postSQLCommands = new Vector();    static Vector postSQLCommands = new Vector();
   
   static final String versionID = new String("FM2SQL Version 0.9.0b\n");    static final String versionID = new String("FM2SQL Version 0.9.1b\n");
   
     private static boolean noError = false;
   
   public static void main(String args[]) throws IOException    public static void main(String args[]) throws IOException
   {    {
Line 144  class Convert Line 146  class Convert
      * //System.out.println(new String(b,"UTF-8")); } catch       * //System.out.println(new String(b,"UTF-8")); } catch
      * (UnsupportedEncodingException e) { e.printStackTrace(); }       * (UnsupportedEncodingException e) { e.printStackTrace(); }
      */       */
       File tmpPath = new File(System.getProperty("java.io.tmpdir"));
     isGUI = false;      isGUI = false;
     FileOutputStream file = null;      FileOutputStream file = null;
     if (args.length != 1)      if (args.length != 1)
Line 152  class Convert Line 155  class Convert
       System.out.println("Usage: java Convert <xml config file>");        System.out.println("Usage: java Convert <xml config file>");
       System.exit(-1);        System.exit(-1);
     }      }
       File temp = null;
     try      try
     {      {
       File temp = File.createTempFile("fm2sql", ".txt");        temp = new File(tmpPath, "fm2sql.txt");
         int count = 1;
         while (temp.exists())
         {
           temp = new File(tmpPath, "fm2sql" + generateSuffix(count++) + ".txt");
         }
       file = new FileOutputStream(temp);        file = new FileOutputStream(temp);
     } catch (FileNotFoundException e1)      } catch (FileNotFoundException e1)
     {      {
       e1.printStackTrace();        e1.printStackTrace();
     }      }
     PrintStream stream = new PrintStream(file, true);      PrintStream stream = new PrintStream(file, true);
       // write info for user to stdout
       System.out.println(versionID);
       System.out.println("Loading " + args[0] + "....");
       System.out.println("Log  will be written to " + temp.getCanonicalPath());
   
     if (!debug)      if (!debug)
     {      {
       System.setOut(stream);        System.setOut(stream);
       System.setErr(stream);        System.setErr(stream);
     }      }
     System.out.println(versionID);      System.out.println(versionID);
       System.out.println("Using config file : " + args[0] + "....");
   
     StringBuffer sb = readXMLFile(args[0]);      StringBuffer sb = readXMLFile(args[0]);
     parseXMLConfig(sb);      parseXMLConfig(sb);
     if (!(new File(args[0]).exists()))      if (!(new File(args[0]).exists()))
Line 248  class Convert Line 264  class Convert
           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;
           // if vectors[1].get(i) != null)            // if vectors[1].get(i) != null)
           if (layout != "")            if (!layout.equals(""))
           {            {
               
             query = addLayoutToQuery(names, query, tbIndex, layout);              query = addLayoutToQuery(names, query, tbIndex, layout);
   
           }            }
Line 472  class Convert Line 489  class Convert
           String layout = (layouts.isEmpty()) ? "" : layouts.get(tbIndex).toString();            String layout = (layouts.isEmpty()) ? "" : layouts.get(tbIndex).toString();
           query = (selects != null) ? selects.get(tbIndex).toString() : "select * from "            query = (selects != null) ? selects.get(tbIndex).toString() : "select * from "
               + bean.getQC() + names.get(tbIndex).toString() + bean.getQC();                + bean.getQC() + names.get(tbIndex).toString() + bean.getQC();
           if (layout != "")            if (layout.intern() != "")
           {            {
             query = addLayoutToQuery(names, query, tbIndex, layout);              query = addLayoutToQuery(names, query, tbIndex, layout);
   
Line 590  class Convert Line 607  class Convert
         command.append(") ");          command.append(") ");
   
         command.append(" values ( ");          command.append(" values ( ");
   
         // add a question marks for every field          // add a question marks for every field
         for (int i = 0; i < bean.getColumnNames().size() - 1; ++i)          for (int i = 0; i < bean.getColumnNames().size() - 1; ++i)
           command.append("?,");            command.append("?,");
Line 687  class Convert Line 703  class Convert
           long startTime = System.currentTimeMillis();            long startTime = System.currentTimeMillis();
   
           bean.makeQuery(query, 0);            bean.makeQuery(query, 0);
             System.err.println("query for whole table done");
           command = writeDatainDestTable(dialog, command, j, pstm, rowCount, delimiter);            command = writeDatainDestTable(dialog, command, j, pstm, rowCount, delimiter);
           long endTime = System.currentTimeMillis();            long endTime = System.currentTimeMillis();
           System.out.println("Time for old convert elapsed " + (endTime - startTime));            System.out.println("Time for old convert elapsed " + (endTime - startTime));
Line 694  class Convert Line 711  class Convert
         }          }
         if (isGUI)          if (isGUI)
           resetGUI(dialog);            resetGUI(dialog);
           noError = true;
       }        }
     } catch (Exception e)      } catch (Exception e)
     {      {
       System.out.println("Error while connecting to database " + e);        System.out.println("Error while connecting to database " + e.getMessage());
         noError = false;
       if (isGUI)        if (isGUI)
       {        {
         showExceptionDialog(dialog, command, e);          showExceptionDialog(dialog, command, e);
Line 707  class Convert Line 726  class Convert
         e.printStackTrace();          e.printStackTrace();
   
       }        }
       } catch (Error e)
       {
         System.out.println(e);
         e.printStackTrace();
     }      }
   
   }    }
Line 1017  class Convert Line 1040  class Convert
           sqlCommand.executeCommand();            sqlCommand.executeCommand();
         }          }
         int mode = db.mode;          int mode = db.mode;
         if (mode == DataBase.CONVERT_MODE || mode == DataBase.APPEND_MODE          if (mode == DataBase.CONVERT_TEMP_MODE)
             || mode == DataBase.CONVERT_TEMP_MODE)          {
             convertBatch(db.bean, database, db.tables, db.layouts, db.selects, db.creates, db.ids,
                 mode, db.delimiter);
             if (noError)
             {
               System.out.println("no Error occured ");
               //                db.bean.setURL(database.url);
               //                db.bean.setUserAndPasswd(database.user,database.passwd);
               //
               //                Convert.user = db.bean.user;
               //                Convert.passwd = db.bean.passwd;
               //                userDest = database.user;
               //                passwdDest = database.passwd;
               //                synchronize(db.bean.url, database.url, db.tables, db.layouts, db.selects, db.creates,
               //                    db.ids, mode, db.delimiter, new Vector(db.htIndex.values()));
             }
           }
           if (mode == DataBase.CONVERT_MODE || mode == DataBase.APPEND_MODE)
           convertBatch(db.bean, database, db.tables, db.layouts, db.selects, db.creates, db.ids,            convertBatch(db.bean, database, db.tables, db.layouts, db.selects, db.creates, db.ids,
               mode, db.delimiter);                mode, db.delimiter);
         else if (mode == DataBase.UPDATE_MODE)          else if (mode == DataBase.UPDATE_MODE)
Line 1216  class Convert Line 1256  class Convert
             id = "";              id = "";
           if (name.equals(""))            if (name.equals(""))
             throw new Error("parse error table tag attribute must not be empty");              throw new Error("parse error table tag attribute must not be empty");
           tables.add(name);            tables.add(name.intern());
           layouts.add(layout);            layouts.add(layout.intern());
           ids.add(id);            ids.add(id.intern());
           String query = (node5 == null) ? "" : node5.getCharacters();            String query = (node5 == null) ? "" : node5.getCharacters();
           if (query.equals(""))            if (query.equals(""))
             System.err.println("Warning empty select tag or  select tag missing !!");              System.err.println("Warning empty select tag or  select tag missing !!");
Line 3713  class Convert Line 3753  class Convert
       // retrieve field_names from select statement        // retrieve field_names from select statement
       if (query.indexOf("*") < 0)        if (query.indexOf("*") < 0)
       {        {
         int selectEndIndex = query.indexOf("from");          int selectEndIndex = query.lastIndexOf("from");
         StringTokenizer tokenizer = new StringTokenizer(query.substring(6, selectEndIndex), ",");          StringTokenizer tokenizer = new StringTokenizer(query.substring(6, selectEndIndex), ",");
         int numFields = tokenizer.countTokens();          int numFields = tokenizer.countTokens();
         fieldNames = new String[numFields];          fieldNames = new String[numFields];
Line 3721  class Convert Line 3761  class Convert
         while (tokenizer.hasMoreTokens())          while (tokenizer.hasMoreTokens())
         {          {
           String fieldName = tokenizer.nextToken().trim();            String fieldName = tokenizer.nextToken().trim();
             String text = convertText(fieldName);
             if (text.indexOf("\"") >= 0)
               fieldNames[fieldIndex] = convertText(fieldName);
             else
           fieldNames[fieldIndex] = beanDest.getQC() + convertText(fieldName) + beanDest.getQC();            fieldNames[fieldIndex] = beanDest.getQC() + convertText(fieldName) + beanDest.getQC();
           // System.out.println("field "+ fieldNames[fieldIndex]);            // System.out.println("field "+ fieldNames[fieldIndex]);
           fieldIndex++;            fieldIndex++;
Line 3866  class Convert Line 3910  class Convert
     // ****** end Test ******      // ****** end Test ******
   
   }    }
   
     public final static String generateSuffix(final int step)
     {
       String fileString = null;
       if (step < 10)
         fileString = "00" + step;
       else if (step < 100)
         fileString = "0" + step;
       else
         fileString = step + "";
       return fileString;
     }
   
 }  }
   

Removed from v.1.7  
changed lines
  Added in v.1.10


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