Diff for /FM2SQL/Attic/FM2SQL.java between versions 1.2 and 1.7

version 1.2, 2003/12/10 12:24:41 version 1.7, 2004/01/08 10:33:33
Line 6  import Convert.DataBase; Line 6  import Convert.DataBase;
   
 import java.awt.event.*;  import java.awt.event.*;
 import java.awt.Dimension;  import java.awt.Dimension;
 import java.awt.FlowLayout;  
 import java.awt.*;  import java.awt.*;
 import java.sql.*;  import java.sql.*;
 import java.util.*;  import java.util.*;
Line 20  import java.io.*; Line 19  import java.io.*;
  * <br>   * <br>
  * The Database access is made over DBBean class   * The Database access is made over DBBean class
  * all other classes are just for the visualization of the data   * all other classes are just for the visualization of the data
  *  @version 0.2( first stable release)   *  @version 0.3( first stable release)
  *  @author rogo   *  @author rogo
  *   *
  */   */
Line 104  public class FM2SQL extends JFrame imple Line 103  public class FM2SQL extends JFrame imple
   public FM2SQL() throws Exception    public FM2SQL() throws Exception
   {    {
           
     initializeGUI();if(true)return;      initializeGUI();
     Image local = getToolkit().getImage(getClass().getResource("icons/fm.jpg"));  
     if (local != null);  
     setIconImage(local);  
     bean = new DBBean();  
     destBean = new DBBean();  
     box2 = new JComboBox();  
     box3 = new JComboBox(new String[] { "jdbc:fmpro:http://141.14.237.74:8050", "jdbc:fmpro:http://localhost", "jdbc:postgresql://foxridge/test" });  
     box3.setEditable(true);  
     box4 = new JComboBox(new String[] {"jdbc:postgresql://foxridge/test","jdbc:postgresql://erebos/test1" });  
     box4.setEditable(true);  
     box4.addActionListener(this);  
     table = new TableComponent();  
     box = new JComboBox(tables);  
     box.addActionListener(this);  
     box2.addActionListener(this);  
     box3.addActionListener(this);  
   
     contentPanel = new JPanel();  
     contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS));  
     topPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 5));  
     topPanel.add(Box.createRigidArea(new Dimension(10, 0)));  
     topPanel.add(new JLabel("FileMaker DB "));  
     topPanel.add(new JLabel("PostgresSQL "));  
     //tListDest.setMinimumSize(new Dimension(120, 250));  
     //tListDest.setMaximumSize(new Dimension(230, 250));  
     //tListDest.setPreferredSize(new Dimension(230, 250));  
   
     box3.setMinimumSize(new Dimension(200, 20));  
     box3.setMaximumSize(new Dimension(320, 20));  
     box3.setPreferredSize(new Dimension(320, 20));  
     box4.setMinimumSize(new Dimension(200, 20));  
     box4.setMaximumSize(new Dimension(320, 20));  
     box4.setPreferredSize(new Dimension(330, 20));  
   
     tC = new TableComponent();  
     tC.sizeToFit(450, 250);  
     tC.tableModel.addTableModelListener(this);  
     JPanel dataBasePanel = new JPanel();  
     dataBasePanel.setLayout(new BoxLayout(dataBasePanel,BoxLayout.LINE_AXIS));  
     dataBasePanel.add(Box.createRigidArea(new Dimension(10, 0)));  
     dataBasePanel.add(new JLabel("Choose src database: "));  
     dataBasePanel.add(box3);  
     dataBasePanel.add(Box.createRigidArea(new Dimension(10, 0)));  
     dataBasePanel.add(new JLabel("Choose dest database : "));  
     dataBasePanel.add(Box.createRigidArea(new Dimension(5, 0)));  
   
     dataBasePanel.add(box4);  
     dataBasePanel.add(Box.createRigidArea(new Dimension(10, 0)));  
     listPanel = new JPanel();  
     listPanel.setLayout(new java.awt.GridBagLayout());  
     java.awt.GridBagConstraints gbc = new java.awt.GridBagConstraints();  
     JScrollPane pane = new JScrollPane(tList);  
     tC.tableScroller.setPreferredSize(new Dimension(450, 265));  
     tC.table.revalidate();  
     tC.setMinimumSize(tC.tableScroller.getPreferredSize());  
     tC.setMaximumSize(tC.tableScroller.getPreferredSize());  
   
     //gbc.gridx=GridBagConstraints.RELATIVE;     
     gbc.gridx = 0;  
     gbc.weightx = 1.0;  
     gbc.weighty = 0.0;  
     gbc.gridwidth = 2;  
     gbc.gridheight = 1;  
     gbc.anchor = GridBagConstraints.NORTHWEST;  
     listPanel.add(new JLabel("  select Tables to Convert  ", JLabel.LEFT), gbc);  
     gbc.gridx = 2;  
     listPanel.add(new JLabel("  Tables in database  ", JLabel.CENTER), gbc);  
   
     gbc.anchor = GridBagConstraints.WEST;  
     gbc.gridy = 1;  
     gbc.gridx = 0;  
     gbc.gridwidth = 1;  
     gbc.weightx = 0.0;  
     listPanel.add(tC, gbc);  
     JScrollPane paneDest = new JScrollPane(tListDest);  
     showTables1 = new JButton("show Tables");  
     showTables1.setActionCommand("show Tables source");  
     gbc.anchor = GridBagConstraints.NORTH;  
     gbc.weightx = 0.0;  
     gbc.gridx = 1;  
     listPanel.add(showTables1, gbc);  
     paneDest.setPreferredSize(new Dimension(250, 265));  
     paneDest.setMinimumSize(paneDest.getPreferredSize());  
     paneDest.setMaximumSize(paneDest.getPreferredSize());  
     gbc.anchor = GridBagConstraints.WEST;  
     gbc.gridy = 1;  
     gbc.gridx = 2;  
     gbc.weightx = 0.2;  
     listPanel.add(paneDest, gbc);  
     JPanel buttonPanel = new JPanel();  
     buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.Y_AXIS));  
     convert = new JButton("Convert Tables");  
     showTables = new JButton("show Tables");  
     dropTables = new JButton("drop Tables");  
     //   System.out.println(convert.getPreferredSize());  
     showTables.setMinimumSize(convert.getPreferredSize());  
     dropTables.setMinimumSize(convert.getPreferredSize());  
     showTables.setMaximumSize(convert.getPreferredSize());  
     dropTables.setMaximumSize(convert.getPreferredSize());  
     showTables.setPreferredSize(convert.getPreferredSize());  
     dropTables.setPreferredSize(convert.getPreferredSize());  
   
     showTables.addActionListener(fm);  
     showTables1.addActionListener(fm);  
   
     buttonPanel.add(showTables);  
     buttonPanel.add(convert);  
     convert.addActionListener(fm);  
     dropTables.addActionListener(fm);  
     buttonPanel.add(dropTables);  
     gbc.gridx = 3;  
     gbc.anchor = GridBagConstraints.NORTHWEST;  
     gbc.gridy = 1;  
     gbc.weightx = 1.0;  
     listPanel.add(buttonPanel, gbc);  
     contentPanel.add(dataBasePanel);  
     contentPanel.add(listPanel);  
     listPanel.setMaximumSize(new Dimension(getPreferredSize().width, 550));  
     listPanel.setMinimumSize(new Dimension(getPreferredSize().width, 150));  
     listPanel.setPreferredSize(new Dimension(getPreferredSize().width, 350));  
   
     getContentPane().add(contentPanel, "Center");  
     this.addWindowListener(new WindowAdapter()  
     {  
       public void windowClosing(WindowEvent e)  
       {  
         System.exit(0);  
       }  
     });  
     addComponentListener(new ComponentAdapter()  
     {  
       public void componentResized(ComponentEvent e)  
       {  
   
         if (oldWidth != getWidth() || oldHeight != getHeight())  
         {  
           table.sizeToFit(getWidth(), getHeight());  
   
           Dimension dim = table.table.getPreferredSize();  
           int size = contentPanel.getPreferredSize().height + new JScrollBar().getPreferredSize().height + new JMenuBar().getPreferredSize().height + 10;  
   
           table.tableScroller.setPreferredSize(new Dimension(getWidth() - 15, getHeight() - size));  
           Dimension d2 = table.tableScroller.getPreferredSize();  
   
           oldWidth = getWidth();  
           oldHeight = getHeight();  
   
           table.setPreferredSize(new Dimension(d2.width + 15, d2.height + 5));  
           table.table.revalidate();  
           table.tableScroller.revalidate();  
           table.revalidate();  
           if (getHeight() > table.table.getPreferredSize().height + (2 * size))  
             setSize(getWidth(), table.table.getPreferredSize().height + 2 * size);  
           // System.out.println("size" + size);  
         }  
         listPanel.setMaximumSize(new Dimension(getPreferredSize().width - 5, 550));  
         listPanel.setMinimumSize(new Dimension(getPreferredSize().width - 5, 200));  
         listPanel.setPreferredSize(new Dimension(getPreferredSize().width - 5, 370));  
   
         ((JPanel) getContentPane()).revalidate();  
         repaint();  
         setTitle("Filemaker To Postgres Conversion Tool ");  
   
       }  
     });  
   
     setMenu();  
     //setSize(800, 600);  
     pack();  
     setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2);  
     //setVisible(true);  
     validate();  
   
     // repaint();  
   
   }    }
   public void initializeGUI() throws Exception    public void initializeGUI() throws Exception
   {    {
Line 310  public class FM2SQL extends JFrame imple Line 134  public class FM2SQL extends JFrame imple
     box4.setMaximumSize(new Dimension(550, 20));      box4.setMaximumSize(new Dimension(550, 20));
     box4.setPreferredSize(new Dimension(450, 20));      box4.setPreferredSize(new Dimension(450, 20));
     paneDest = new JScrollPane(tListDest);      paneDest = new JScrollPane(tListDest);
     tListDest.setPreferredSize(paneDest.getPreferredSize());     // tListDest.setPreferredSize(paneDest.getPreferredSize());
    // paneDest.setPreferredSize(new Dimension(350, 365));     // paneDest.setPreferredSize(new Dimension(350, 365));
     Dimension dim = paneDest.getPreferredSize();      Dimension dim = paneDest.getPreferredSize();
     paneDest.setMinimumSize(dim);      paneDest.setMinimumSize(dim);
Line 375  public class FM2SQL extends JFrame imple Line 199  public class FM2SQL extends JFrame imple
     gbc.gridheight = 1;      gbc.gridheight = 1;
     gbc.fill = GridBagConstraints.BOTH;      gbc.fill = GridBagConstraints.BOTH;
     listPanel.add(tC.tableScroller, gbc);      listPanel.add(tC.tableScroller, gbc);
     gbc.fill = GridBagConstraints.VERTICAL;     // gbc.fill = GridBagConstraints.VERTICAL;
     destPanel.add(paneDest, gbc);      destPanel.add(paneDest, gbc);
     showTables1 = new JButton("show Tables");      showTables1 = new JButton("show Tables");
     showTables1.setActionCommand("show Tables source");      showTables1.setActionCommand("show Tables source");
Line 386  public class FM2SQL extends JFrame imple Line 210  public class FM2SQL extends JFrame imple
   
     gbc.gridx = 0;      gbc.gridx = 0;
     gbc.gridy = 2;      gbc.gridy = 2;
     topPanel.add(showTables1, gbc);     // topPanel.add(showTables1, gbc);
     JPanel buttonPanel = new JPanel();      JPanel buttonPanel = new JPanel();
     buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS));      buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS));
     buttonPanel.setMinimumSize(new Dimension(200, 20));      buttonPanel.setMinimumSize(new Dimension(380, 30));
     convert = new JButton("Convert Tables");      convert = new JButton("Convert Tables");
     showTables = new JButton("show Tables");      showTables = new JButton("show Tables");
     dropTables = new JButton("drop Tables");      dropTables = new JButton("drop Tables");
Line 410  public class FM2SQL extends JFrame imple Line 234  public class FM2SQL extends JFrame imple
     dropTables.addActionListener(fm);      dropTables.addActionListener(fm);
     buttonPanel.add(dropTables);      buttonPanel.add(dropTables);
   
       JPanel buttonPanelSrc = new JPanel();
       buttonPanelSrc.setLayout(new BoxLayout(buttonPanelSrc, BoxLayout.X_AXIS));
       buttonPanelSrc.setMinimumSize(new Dimension(200, 30));
       buttonPanelSrc.add(showTables1);
       
       topPanel.add(buttonPanelSrc, gbc);
     topPanel2.add(buttonPanel, gbc);      topPanel2.add(buttonPanel, gbc);
      
     // gbc.anchor = GridBagConstraints.WEST;      // gbc.anchor = GridBagConstraints.WEST;
     //   gbc.gridy = 1;      //   gbc.gridy = 1;
     //   gbc.gridx = 2;      //   gbc.gridx = 2;
Line 471  public class FM2SQL extends JFrame imple Line 302  public class FM2SQL extends JFrame imple
         //    listPanel.setPreferredSize(new Dimension(getPreferredSize().width - 5, 370));          //    listPanel.setPreferredSize(new Dimension(getPreferredSize().width - 5, 370));
         tC.tableScroller.revalidate();          tC.tableScroller.revalidate();
         Dimension dim = getSize();          Dimension dim = getSize();
         tC.tableScroller.setMinimumSize(new Dimension(dim.width, dim.height - topPanel.getPreferredSize().height - 100));          tC.tableScroller.setMinimumSize(new Dimension(dim.width-400, dim.height - topPanel.getPreferredSize().height - 100));
         tC.tableScroller.setMaximumSize(getSize());          tC.tableScroller.setMaximumSize(getSize());
         paneDest.setMinimumSize(new Dimension(dim.width, dim.height - topPanel2.getPreferredSize().height - 100));          tC.tableScroller.setPreferredSize(tC.tableScroller.getMinimumSize());
        
           paneDest.setMinimumSize(new Dimension(400, dim.height - topPanel2.getPreferredSize().height - 100));
         paneDest.setMaximumSize(tC.tableScroller.getMaximumSize());          paneDest.setMaximumSize(tC.tableScroller.getMaximumSize());
           paneDest.setPreferredSize(new Dimension(400, dim.height - topPanel2.getPreferredSize().height - 100));
       
         paneDest.validate();          paneDest.validate();
         // tC.tableScroller.setPreferredSize(getSize());          // tC.tableScroller.setPreferredSize(getSize());
         tC.sizeToFit(getWidth(), getHeight());          tC.sizeToFit(getWidth(), getHeight());
Line 713  public class FM2SQL extends JFrame imple Line 548  public class FM2SQL extends JFrame imple
       }        }
     }      }
    //writing config     //writing config
     if (command.equals("export XML Config"))      if (command.equals("save XML Config"))
     {      {
       if (configExportFileChooser == null)        if (configExportFileChooser == null)
       {        {
Line 747  public class FM2SQL extends JFrame imple Line 582  public class FM2SQL extends JFrame imple
       configExportFileChooser.showDialog(fmInstance, " Save ");        configExportFileChooser.showDialog(fmInstance, " Save ");
         
     }      }
     if (command.equals("import XML Config"))      if (command.equals("open XML Config"))
     {      {
       if (configImportFileChooser == null)        if (configImportFileChooser == null)
       {        {
Line 845  public class FM2SQL extends JFrame imple Line 680  public class FM2SQL extends JFrame imple
       };        };
       thread.start();        thread.start();
     }      }
     if(command.equals("Quit"))
      {
        fmInstance.dispose();
        System.exit(0);
     
      }
      
   }    }
   /**    /**
    * Copys the content of source to destination and makes new table if necessary     * Copys the content of source to destination and makes new table if necessary
Line 937  public class FM2SQL extends JFrame imple Line 779  public class FM2SQL extends JFrame imple
         fillTable();          fillTable();
         Vector tables=database.bean.getTableNames();          Vector tables=database.bean.getTableNames();
         Collections.sort(tables,String.CASE_INSENSITIVE_ORDER);          Collections.sort(tables,String.CASE_INSENSITIVE_ORDER);
           int[] indices = new int[database.tables.size()];
         for (int i =0;i<database.tables.size();++i)          for (int i =0;i<database.tables.size();++i)
         {          {
           String table = (String) database.tables.get(i);            String table = (String) database.tables.get(i);
Line 947  public class FM2SQL extends JFrame imple Line 790  public class FM2SQL extends JFrame imple
           String create =database.creates.get(i).toString();            String create =database.creates.get(i).toString();
           tC.tableModel.setValueAt(new TableComponent.SQLCommand(create.equals("") ? create:"           "+create),index,3);            tC.tableModel.setValueAt(new TableComponent.SQLCommand(create.equals("") ? create:"           "+create),index,3);
           Object comboBox=tC.tableModel.getValueAt(index,1);            Object comboBox=tC.tableModel.getValueAt(index,1);
           //@TODO load old selection Status            indices[i] = index;
           if(comboBox!=null) ((JComboBox)comboBox).setSelectedItem(database.layouts.get(i));              if(comboBox!=null) ((JComboBox)comboBox).setSelectedItem(database.layouts.get(i));  
           tC.tableModel.fireTableDataChanged();            tC.tableModel.fireTableDataChanged();
           noDBUpdate = false;            noDBUpdate = false;
           noUserUpdate = false;            noUserUpdate = false;
                   
         }          }
           // add Selections
           ListSelectionModel lm = tC.table.getSelectionModel();
           for(int i=0;i<indices.length;++i)
           lm.addSelectionInterval(indices[i],indices[i]);
            
        destBean.getConnection();         destBean.getConnection();
               
         DefaultListModel model = new DefaultListModel();          DefaultListModel model = new DefaultListModel();
Line 1217  public class FM2SQL extends JFrame imple Line 1065  public class FM2SQL extends JFrame imple
   {    {
     JMenuBar menubar = new JMenuBar();      JMenuBar menubar = new JMenuBar();
     JMenu menu = new JMenu("File");      JMenu menu = new JMenu("File");
        menu.setMnemonic('F');
       JMenuItem item = new JMenuItem("open XML Config");
       item.setMnemonic('i');
       item.setAccelerator(KeyStroke.getKeyStroke('O',InputEvent.CTRL_DOWN_MASK));
         
     JMenuItem item = new JMenuItem("import XML Config");  
     item.addActionListener(fm);      item.addActionListener(fm);
     menu.add(item);      menu.add(item);
     item = new JMenuItem("export XML Config");      item = new JMenuItem("save XML Config");
       item.setAccelerator(KeyStroke.getKeyStroke('S',InputEvent.CTRL_DOWN_MASK));
       item.setMnemonic('x');
      
       item.addActionListener(fm);
       menu.add(item);
       item = new JMenuItem("Quit");
       item.setMnemonic('Q');
       item.setAccelerator(KeyStroke.getKeyStroke('Q',InputEvent.CTRL_DOWN_MASK));
     item.addActionListener(fm);      item.addActionListener(fm);
     menu.add(item);      menu.add(item);
    
     menubar.add(menu);      menubar.add(menu);
     menu = new JMenu("Options");      menu = new JMenu("Options");
       menu.setMnemonic('O');
       
     item = new JMenuItem("show Driver features");      item = new JMenuItem("show Driver features");
     item.addActionListener(fm);      item.addActionListener(fm);

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


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