version 1.1, 2003/12/05 11:46:39
|
version 1.15, 2004/02/10 12:52:30
|
Line 2 import javax.swing.*;
|
Line 2 import javax.swing.*;
|
import javax.swing.event.*; |
import javax.swing.event.*; |
import javax.swing.table.TableModel; |
import javax.swing.table.TableModel; |
|
|
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 17 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 |
* |
* |
*/ |
*/ |
public class FM2SQL extends JFrame implements ActionListener, TableModelListener |
public class FM2SQL extends JFrame implements ActionListener, TableModelListener |
{ |
{ |
|
private JCheckBoxMenuItem convertItem; |
|
private JCheckBoxMenuItem appendItem; |
|
private JCheckBoxMenuItem updateItem; |
|
int mode = -1; |
/** |
/** |
* The database Bean instance. |
* The database Bean instance. |
* |
* |
Line 67 public class FM2SQL extends JFrame imple
|
Line 68 public class FM2SQL extends JFrame imple
|
Vector tables = new Vector(); |
Vector tables = new Vector(); |
Vector layouts = new Vector(); |
Vector layouts = new Vector(); |
JPanel listPanel; |
JPanel listPanel; |
JPanel topPanel, contentPanel; |
JPanel topPanel,topPanel2, contentPanel; |
|
JScrollPane paneDest; |
FM2SQL fm = this; |
FM2SQL fm = this; |
boolean noDBUpdate = false; |
boolean noDBUpdate = false; |
boolean noUserUpdate = false; |
boolean noUserUpdate = false; |
Line 102 public class FM2SQL extends JFrame imple
|
Line 104 public class FM2SQL extends JFrame imple
|
*/ |
*/ |
public FM2SQL() throws Exception |
public FM2SQL() throws Exception |
{ |
{ |
|
|
|
initializeGUI(); |
|
} |
|
public void initializeGUI() throws Exception |
|
{ |
Image local = getToolkit().getImage(getClass().getResource("icons/fm.jpg")); |
Image local = getToolkit().getImage(getClass().getResource("icons/fm.jpg")); |
if (local != null); |
if (local != null); |
setIconImage(local); |
setIconImage(local); |
Line 110 public class FM2SQL extends JFrame imple
|
Line 117 public class FM2SQL extends JFrame imple
|
box2 = new JComboBox(); |
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 = new JComboBox(new String[] { "jdbc:fmpro:http://141.14.237.74:8050", "jdbc:fmpro:http://localhost", "jdbc:postgresql://foxridge/test" }); |
box3.setEditable(true); |
box3.setEditable(true); |
|
box3.setFont(new Font("Times New Roman",Font.PLAIN,12)); |
box4 = new JComboBox(new String[] {"jdbc:postgresql://foxridge/test","jdbc:postgresql://erebos/test1" }); |
box4 = new JComboBox(new String[] {"jdbc:postgresql://foxridge/test","jdbc:postgresql://erebos/test1" }); |
box4.setEditable(true); |
box4.setEditable(true); |
box4.addActionListener(this); |
box4.addActionListener(this); |
|
box4.setFont(new Font("Times New Roman",Font.PLAIN,12)); |
table = new TableComponent(); |
table = new TableComponent(); |
box = new JComboBox(tables); |
box = new JComboBox(tables); |
box.addActionListener(this); |
box.addActionListener(this); |
Line 121 public class FM2SQL extends JFrame imple
|
Line 130 public class FM2SQL extends JFrame imple
|
|
|
contentPanel = new JPanel(); |
contentPanel = new JPanel(); |
contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS)); |
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))); |
box3.setMinimumSize(new Dimension(450, 20)); |
topPanel.add(new JLabel("FileMaker DB ")); |
box3.setMaximumSize(new Dimension(550, 20)); |
topPanel.add(new JLabel("PostgresSQL ")); |
box3.setPreferredSize(new Dimension(450, 20)); |
//tListDest.setMinimumSize(new Dimension(120, 250)); |
box4.setMinimumSize(new Dimension(450, 20)); |
//tListDest.setMaximumSize(new Dimension(230, 250)); |
box4.setMaximumSize(new Dimension(550, 20)); |
//tListDest.setPreferredSize(new Dimension(230, 250)); |
box4.setPreferredSize(new Dimension(450, 20)); |
|
paneDest = new JScrollPane(tListDest); |
box3.setMinimumSize(new Dimension(200, 20)); |
// tListDest.setPreferredSize(paneDest.getPreferredSize()); |
box3.setMaximumSize(new Dimension(320, 20)); |
// paneDest.setPreferredSize(new Dimension(350, 365)); |
box3.setPreferredSize(new Dimension(320, 20)); |
Dimension dim = paneDest.getPreferredSize(); |
box4.setMinimumSize(new Dimension(200, 20)); |
paneDest.setMinimumSize(dim); |
box4.setMaximumSize(new Dimension(320, 20)); |
//paneDest.setMaximumSize(new Dimension(dim.width + 50, dim.height + 50)); |
box4.setPreferredSize(new Dimension(330, 20)); |
|
|
|
tC = new TableComponent(); |
tC = new TableComponent(); |
tC.sizeToFit(450, 250); |
tC.sizeToFit(450, 250); |
tC.tableModel.addTableModelListener(this); |
tC.tableModel.addTableModelListener(this); |
JPanel dataBasePanel = new JPanel(); |
JPanel destPanel = new JPanel(); |
dataBasePanel.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2)); |
destPanel.setLayout(new java.awt.GridBagLayout()); |
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 = new JPanel(); |
listPanel.setLayout(new java.awt.GridBagLayout()); |
listPanel.setLayout(new java.awt.GridBagLayout()); |
java.awt.GridBagConstraints gbc = new java.awt.GridBagConstraints(); |
java.awt.GridBagConstraints gbc = new java.awt.GridBagConstraints(); |
JScrollPane pane = new JScrollPane(tList); |
JScrollPane pane = new JScrollPane(tList); |
tC.tableScroller.setPreferredSize(new Dimension(450, 265)); |
tC.tableScroller.setPreferredSize(new Dimension(450, 365)); |
tC.table.revalidate(); |
//tC.table.revalidate(); |
tC.setMinimumSize(tC.tableScroller.getPreferredSize()); |
tC.tableScroller.setMinimumSize(new Dimension(450, 250)); |
tC.setMaximumSize(tC.tableScroller.getPreferredSize()); |
// tC.tableScroller.setMaximumSize(tC.tableScroller.getPreferredSize()); |
|
topPanel = new JPanel(); |
|
topPanel.setLayout(new GridBagLayout()); |
|
topPanel2 = new JPanel(); |
|
topPanel2.setLayout(new GridBagLayout()); |
|
|
//gbc.gridx=GridBagConstraints.RELATIVE; |
|
gbc.gridx = 0; |
gbc.gridx = 0; |
gbc.weightx = 1.0; |
gbc.gridy = 0; |
gbc.weighty = 0.0; |
gbc.weightx = 0.1; |
gbc.gridwidth = 2; |
gbc.weighty = 0.1; |
|
gbc.gridwidth = 1; |
gbc.gridheight = 1; |
gbc.gridheight = 1; |
gbc.anchor = GridBagConstraints.NORTHWEST; |
gbc.insets = new Insets(2, 2, 5, 5); |
listPanel.add(new JLabel(" select Tables to Convert ", JLabel.LEFT), gbc); |
gbc.ipadx = 1; |
gbc.gridx = 2; |
gbc.ipady = 1; |
listPanel.add(new JLabel(" Tables in database ", JLabel.CENTER), gbc); |
|
|
|
gbc.anchor = GridBagConstraints.WEST; |
gbc.anchor = GridBagConstraints.WEST; |
|
listPanel.add(topPanel, gbc); |
|
destPanel.add(topPanel2, gbc); |
|
|
|
topPanel.add(new JLabel("Choose src database: ", JLabel.CENTER), gbc); |
|
topPanel2.add(new JLabel("Choose dest database : ", JLabel.CENTER), gbc); |
|
|
|
gbc.anchor = GridBagConstraints.NORTHWEST; |
gbc.gridy = 1; |
gbc.gridy = 1; |
|
topPanel.add(box3, gbc); |
|
|
|
topPanel2.add(box4, gbc); |
|
|
|
//gbc.gridx=GridBagConstraints.RELATIVE; |
|
//dataBasePanel.add(new JLabel(" select Tables to Convert ", JLabel.LEFT)); |
|
gbc.gridy = 1; |
|
gbc.anchor = GridBagConstraints.SOUTHWEST; |
|
|
|
listPanel.add(new JLabel(" select Tables to Convert ", JLabel.LEFT), gbc); |
|
destPanel.add(new JLabel(" Tables in database ", JLabel.LEFT), gbc); |
|
|
|
// gbc.anchor = GridBagConstraints.WEST; |
|
gbc.gridy = 2; |
gbc.gridx = 0; |
gbc.gridx = 0; |
gbc.gridwidth = 1; |
// gbc.weightx = 0.0; |
gbc.weightx = 0.0; |
//dataBasePanel.add(tC); |
listPanel.add(tC, gbc); |
gbc.anchor = GridBagConstraints.NORTHWEST; |
JScrollPane paneDest = new JScrollPane(tListDest); |
gbc.gridheight = 1; |
|
gbc.fill = GridBagConstraints.BOTH; |
|
listPanel.add(tC.tableScroller, gbc); |
|
// gbc.fill = GridBagConstraints.VERTICAL; |
|
destPanel.add(paneDest, gbc); |
showTables1 = new JButton("show Tables"); |
showTables1 = new JButton("show Tables"); |
showTables1.setActionCommand("show Tables source"); |
showTables1.setActionCommand("show Tables source"); |
gbc.anchor = GridBagConstraints.NORTH; |
// gbc.anchor = GridBagConstraints.NORTH; |
gbc.weightx = 0.0; |
// gbc.weightx = 0.0; |
gbc.gridx = 1; |
gbc.fill = GridBagConstraints.NONE; |
listPanel.add(showTables1, gbc); |
gbc.gridheight = 1; |
paneDest.setPreferredSize(new Dimension(250, 265)); |
|
paneDest.setMinimumSize(paneDest.getPreferredSize()); |
gbc.gridx = 0; |
paneDest.setMaximumSize(paneDest.getPreferredSize()); |
gbc.gridy = 2; |
gbc.anchor = GridBagConstraints.WEST; |
// topPanel.add(showTables1, gbc); |
gbc.gridy = 1; |
|
gbc.gridx = 2; |
|
gbc.weightx = 0.2; |
|
listPanel.add(paneDest, gbc); |
|
JPanel buttonPanel = new JPanel(); |
JPanel buttonPanel = new JPanel(); |
buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.Y_AXIS)); |
buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); |
|
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 212 public class FM2SQL extends JFrame imple
|
Line 237 public class FM2SQL extends JFrame imple
|
convert.addActionListener(fm); |
convert.addActionListener(fm); |
dropTables.addActionListener(fm); |
dropTables.addActionListener(fm); |
buttonPanel.add(dropTables); |
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"); |
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); |
|
|
|
// gbc.anchor = GridBagConstraints.WEST; |
|
// gbc.gridy = 1; |
|
// gbc.gridx = 2; |
|
// gbc.weightx = 0.2; |
|
|
|
// gbc.gridx = 3; |
|
// gbc.anchor = GridBagConstraints.NORTHWEST; |
|
// gbc.gridy = 1; |
|
// gbc.weightx = 1.0; |
|
//listPanel.add(buttonPanel, gbc); |
|
JSplitPane splitter = new JSplitPane(); |
|
splitter.setTopComponent(listPanel); |
|
splitter.setBottomComponent(destPanel); |
|
|
|
// contentPanel.add(dataBasePanel); |
|
// contentPanel.add(listPanel); |
|
listPanel.setMaximumSize(new Dimension(660, 750)); |
|
listPanel.setMinimumSize(new Dimension(660, 250)); |
|
listPanel.setPreferredSize(new Dimension(480, 500)); |
|
paneDest.setPreferredSize(new Dimension(250, 285)); |
|
|
|
getContentPane().add(splitter, "Center"); |
this.addWindowListener(new WindowAdapter() |
this.addWindowListener(new WindowAdapter() |
{ |
{ |
public void windowClosing(WindowEvent e) |
public void windowClosing(WindowEvent e) |
Line 257 public class FM2SQL extends JFrame imple
|
Line 301 public class FM2SQL extends JFrame imple
|
setSize(getWidth(), table.table.getPreferredSize().height + 2 * size); |
setSize(getWidth(), table.table.getPreferredSize().height + 2 * size); |
// System.out.println("size" + size); |
// System.out.println("size" + size); |
} |
} |
listPanel.setMaximumSize(new Dimension(getPreferredSize().width - 5, 550)); |
// listPanel.setMaximumSize(new Dimension(getPreferredSize().width - 5, 550)); |
listPanel.setMinimumSize(new Dimension(getPreferredSize().width - 5, 200)); |
// listPanel.setMinimumSize(new Dimension(getPreferredSize().width - 5, 200)); |
listPanel.setPreferredSize(new Dimension(getPreferredSize().width - 5, 370)); |
// listPanel.setPreferredSize(new Dimension(getPreferredSize().width - 5, 370)); |
|
tC.tableScroller.revalidate(); |
|
Dimension dim = getSize(); |
|
tC.tableScroller.setMinimumSize(new Dimension(dim.width-400, dim.height - topPanel.getPreferredSize().height - 100)); |
|
tC.tableScroller.setMaximumSize(getSize()); |
|
tC.tableScroller.setPreferredSize(tC.tableScroller.getMinimumSize()); |
|
|
|
paneDest.setMinimumSize(new Dimension(400, dim.height - topPanel2.getPreferredSize().height - 100)); |
|
paneDest.setMaximumSize(tC.tableScroller.getMaximumSize()); |
|
paneDest.setPreferredSize(new Dimension(400, dim.height - topPanel2.getPreferredSize().height - 100)); |
|
|
|
paneDest.validate(); |
|
// tC.tableScroller.setPreferredSize(getSize()); |
|
tC.sizeToFit(getWidth(), getHeight()); |
((JPanel) getContentPane()).revalidate(); |
((JPanel) getContentPane()).revalidate(); |
repaint(); |
repaint(); |
setTitle("Filemaker To Postgres Conversion Tool "); |
setTitle("Filemaker 2 SQL Conversion Tool "); |
|
|
} |
} |
}); |
}); |
Line 468 public class FM2SQL extends JFrame imple
|
Line 524 public class FM2SQL extends JFrame imple
|
thread.start(); |
thread.start(); |
|
|
} |
} |
setTitle("Filemaker To Postgres Conversion Tool "); |
setTitle("Filemaker 2 SQL Conversion Tool "); |
// pack(); |
// pack(); |
|
|
} catch (Exception e4) |
} catch (Exception e4) |
Line 495 public class FM2SQL extends JFrame imple
|
Line 551 public class FM2SQL extends JFrame imple
|
{ |
{ |
} |
} |
} |
} |
|
if (command == "Convert Mode") |
|
{ |
|
System.out.println("Convert Mode selected"); |
|
convert.setText("Convert Tables"); |
|
convert.setActionCommand("Convert Tables"); |
|
mode = Convert.DataBase.CONVERT_MODE; |
|
} |
|
if (command == "Append Mode") |
|
{ |
|
System.out.println("Append Mode selected"); |
|
convert.setText("Append Tables"); |
|
convert.setActionCommand("Append Tables"); |
|
mode = Convert.DataBase.APPEND_MODE; |
|
} |
|
if (command == "Update Mode") |
|
{ |
|
System.out.println("Update Mode selected"); |
|
convert.setText("Update Tables"); |
|
convert.setActionCommand("Update Tables"); |
|
mode = Convert.DataBase.UPDATE_MODE; |
|
} |
//writing config |
//writing config |
if (command.equals("export XML Config")) |
if (command.equals("save XML Config")) |
{ |
{ |
if (configExportFileChooser == null) |
if (configExportFileChooser == null) |
{ |
{ |
Line 530 public class FM2SQL extends JFrame imple
|
Line 607 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 566 public class FM2SQL extends JFrame imple
|
Line 643 public class FM2SQL extends JFrame imple
|
} |
} |
|
|
|
|
if (command.equals("Convert Tables")) |
if (command.equals("Convert Tables")||command.equals("Append Tables")) |
{ |
{ |
|
|
Thread thread = new Thread() |
Thread thread = new Thread() |
Line 581 public class FM2SQL extends JFrame imple
|
Line 658 public class FM2SQL extends JFrame imple
|
}; |
}; |
thread.start(); |
thread.start(); |
} |
} |
|
if (command.equals("Update Tables")) |
|
{ |
|
|
|
Thread thread = new Thread() |
|
{ |
|
public void run() |
|
{ |
|
setEnabled(false); |
|
update(); |
|
setEnabled(true); |
|
} |
|
|
|
}; |
|
thread.start(); |
|
} |
|
|
if (command.equals("show Tables")) |
if (command.equals("show Tables")) |
{ |
{ |
Thread thread = new Thread() |
Thread thread = new Thread() |
Line 628 public class FM2SQL extends JFrame imple
|
Line 721 public class FM2SQL extends JFrame imple
|
}; |
}; |
thread.start(); |
thread.start(); |
} |
} |
|
if(command.equals("Quit")) |
|
{ |
|
fmInstance.dispose(); |
|
System.exit(0); |
|
|
|
} |
|
|
|
} |
|
/** |
|
* Updates the content of source to destination and makes new table if necessary |
|
*/ |
|
|
|
public void update() |
|
{ |
|
Vector vectors[] = getListFromTable(); |
|
Convert.user = bean.user; |
|
Convert.passwd = bean.passwd; |
|
Convert.userDest = destBean.user; |
|
Convert.passwdDest = destBean.passwd; |
|
try |
|
{ |
|
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
|
fmInstance.setEnabled(false); |
|
Convert.update(bean.url, box4.getSelectedItem().toString(), vectors[0], vectors[1], vectors[2], vectors[3],vectors[4], mode); |
|
|
|
destBean.setConnection((String) box4.getSelectedItem()); |
|
DefaultListModel model = new DefaultListModel(); |
|
tables = destBean.getTableNames(); |
|
for (int j = 0; j < tables.size(); ++j) |
|
model.addElement(tables.get(j)); |
|
if (debug) |
|
System.out.println("hallo" + tables + " "); |
|
tListDest.setModel(model); |
|
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); |
|
} catch (Exception e4) |
|
{ |
|
ByteArrayOutputStream b = new ByteArrayOutputStream(); |
|
PrintStream stream = new PrintStream(b); |
|
e4.printStackTrace(stream); |
|
showErrorDialog(b.toString(), "Conversion of table failed"); |
|
fmInstance.setEnabled(true); |
|
} |
|
|
} |
} |
/** |
/** |
* 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 644 public class FM2SQL extends JFrame imple
|
Line 780 public class FM2SQL extends JFrame imple
|
{ |
{ |
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
fmInstance.setEnabled(false); |
fmInstance.setEnabled(false); |
Convert.convert(bean.url, box4.getSelectedItem().toString(), vectors[0], vectors[1],vectors[2],vectors[3]); |
Convert.convert(bean.url, box4.getSelectedItem().toString(), vectors[0], vectors[1],vectors[2],vectors[3],vectors[4],mode); |
|
|
destBean.setConnection((String) box4.getSelectedItem()); |
destBean.setConnection((String) box4.getSelectedItem()); |
DefaultListModel model = new DefaultListModel(); |
DefaultListModel model = new DefaultListModel(); |
Line 670 public class FM2SQL extends JFrame imple
|
Line 806 public class FM2SQL extends JFrame imple
|
fmInstance.setEnabled(false); |
fmInstance.setEnabled(false); |
|
|
Vector vectors[] = getListFromTable(); |
Vector vectors[] = getListFromTable(); |
Convert.DataBase source = new Convert.DataBase(bean,vectors[0],vectors[1],vectors[2],vectors[3]); |
if(convertItem.isSelected()) mode = Convert.DataBase.CONVERT_MODE; |
Convert.DataBase destination = new Convert.DataBase(destBean,new Vector(),new Vector(),new Vector(),new Vector()); |
else |
|
if(appendItem.isSelected()) mode = Convert.DataBase.APPEND_MODE; |
|
else |
|
if(updateItem.isSelected()) mode = Convert.DataBase.UPDATE_MODE; |
|
// TODO add id vector in table and write it out |
|
Convert.DataBase source = new Convert.DataBase(bean,vectors[0],vectors[1],vectors[2],vectors[3],vectors[4],mode); |
|
Convert.DataBase destination = new Convert.DataBase(destBean,new Vector(),new Vector(),new Vector(),new Vector(),new Vector(),-1); |
|
|
try |
try |
{ |
{ |
Line 699 public class FM2SQL extends JFrame imple
|
Line 841 public class FM2SQL extends JFrame imple
|
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
fmInstance.setEnabled(false); |
fmInstance.setEnabled(false); |
Vector databases = Convert.getXMLConfig(file); |
Vector databases = Convert.getXMLConfig(file); |
DataBase destBase = (DataBase) databases.lastElement(); |
Convert.DataBase destBase = (Convert.DataBase) databases.lastElement(); |
//destBase.bean.getConnection(); |
//destBase.bean.getConnection(); |
noUserUpdate = true; |
noUserUpdate = true; |
destBean=destBase.bean; |
destBean=destBase.bean; |
Line 707 public class FM2SQL extends JFrame imple
|
Line 849 public class FM2SQL extends JFrame imple
|
((DefaultComboBoxModel) box4.getModel()).removeElement(destObj); |
((DefaultComboBoxModel) box4.getModel()).removeElement(destObj); |
((DefaultComboBoxModel) box4.getModel()).insertElementAt(destObj,0); |
((DefaultComboBoxModel) box4.getModel()).insertElementAt(destObj,0); |
box4.setSelectedItem(destObj); |
box4.setSelectedItem(destObj); |
//@TODO comboBox action Events should do nothing on config file read+combox in table should be updated |
|
databases.remove(destBase); |
databases.remove(destBase); |
for (Iterator iter = databases.iterator(); iter.hasNext();) |
for (Iterator iter = databases.iterator(); iter.hasNext();) |
{ |
{ |
Convert.DataBase database = (Convert.DataBase) iter.next(); |
Convert.DataBase database = (Convert.DataBase) iter.next(); |
|
|
|
if (database.mode == Convert.DataBase.CONVERT_MODE) |
|
{ |
|
convertItem.setSelected(true); |
|
convert.setText("Convert Tables"); |
|
convert.setActionCommand("Convert Tables"); |
|
mode = Convert.DataBase.CONVERT_MODE; |
|
} else if (database.mode == Convert.DataBase.APPEND_MODE) |
|
{ |
|
appendItem.setSelected(true); |
|
convert.setText("Append Tables"); |
|
convert.setActionCommand("Append Tables"); |
|
mode = Convert.DataBase.APPEND_MODE; |
|
} else if (database.mode == Convert.DataBase.UPDATE_MODE) |
|
{ |
|
updateItem.setSelected(true); |
|
convert.setText("Update Tables"); |
|
convert.setActionCommand("Update Tables"); |
|
mode = Convert.DataBase.UPDATE_MODE; |
|
} |
database.bean.getConnection(); |
database.bean.getConnection(); |
|
|
bean = database.bean; |
bean = database.bean; |
Object obj =bean.url; |
Object obj =bean.url; |
((DefaultComboBoxModel) box3.getModel()).removeElement(obj); |
((DefaultComboBoxModel) box3.getModel()).removeElement(obj); |
Line 721 public class FM2SQL extends JFrame imple
|
Line 883 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 728 public class FM2SQL extends JFrame imple
|
Line 891 public class FM2SQL extends JFrame imple
|
if(index<0) throw new RuntimeException("Error table \""+table+"\" does no longer exist\n at server "+bean.url +"\n or you mispelled the tablename."); |
if(index<0) throw new RuntimeException("Error table \""+table+"\" does no longer exist\n at server "+bean.url +"\n or you mispelled the tablename."); |
noDBUpdate = true; |
noDBUpdate = true; |
tC.tableModel.setValueAt(new TableComponent.SQLCommand(database.selects.get(i).toString()),index,2); |
tC.tableModel.setValueAt(new TableComponent.SQLCommand(database.selects.get(i).toString()),index,2); |
|
|
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); |
|
tC.tableModel.setValueAt(new TableComponent.SQLCommand(bean.ids.get(i).toString()),index,4); |
|
|
Object comboBox=tC.tableModel.getValueAt(index,1); |
Object comboBox=tC.tableModel.getValueAt(index,1); |
|
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 1000 public class FM2SQL extends JFrame imple
|
Line 1172 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.setToolTipText("opens a XML config file for batch conversion"); |
|
item.setMnemonic('i'); |
|
item.setAccelerator(KeyStroke.getKeyStroke('O',InputEvent.CTRL_DOWN_MASK)); |
|
|
|
item.addActionListener(fm); |
|
menu.add(item); |
|
item = new JMenuItem("save XML Config"); |
|
item.setToolTipText("saves the current selections in an XML config file for batch conversion"); |
|
item.setAccelerator(KeyStroke.getKeyStroke('S',InputEvent.CTRL_DOWN_MASK)); |
|
item.setMnemonic('x'); |
|
|
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("Quit"); |
|
item.setMnemonic('Q'); |
|
item.setToolTipText("Quits the application"); |
|
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.setToolTipText("shows the features of the selected driver"); |
item.addActionListener(fm); |
item.addActionListener(fm); |
menu.add(item); |
menu.add(item); |
menubar.add(menu); |
menubar.add(menu); |
|
|
|
ButtonGroup bgrp = new ButtonGroup(); |
|
convertItem = new JCheckBoxMenuItem("Convert Mode"); |
|
convertItem.setToolTipText("Normal table conversion existing table will be deleted"); |
|
convertItem.addActionListener(fm); |
|
|
|
bgrp.add(convertItem); |
|
|
|
menu.add(convertItem); |
|
menubar.add(menu); |
|
|
|
appendItem = new JCheckBoxMenuItem("Append Mode"); |
|
appendItem.setToolTipText("Appends data to an existing table"); |
|
appendItem.addActionListener(fm); |
|
|
|
bgrp.add(appendItem); |
|
|
|
menu.add(appendItem); |
|
menubar.add(menu); |
|
|
|
updateItem = new JCheckBoxMenuItem("Update Mode"); |
|
updateItem.setToolTipText("Updates data in an existing table"); |
|
updateItem.addActionListener(fm); |
|
|
|
bgrp.add(updateItem); |
|
|
|
menu.add(updateItem); |
|
menubar.add(menu); |
|
|
item.addActionListener(fm); |
item.addActionListener(fm); |
menu.add(item); |
menu.add(item); |
|
|
Line 1022 public class FM2SQL extends JFrame imple
|
Line 1239 public class FM2SQL extends JFrame imple
|
|
|
menu.setBackground(fm.getBackground()); |
menu.setBackground(fm.getBackground()); |
menubar.setBackground(fm.getBackground()); |
menubar.setBackground(fm.getBackground()); |
|
convertItem.doClick(); |
setJMenuBar(menubar); |
setJMenuBar(menubar); |
} |
} |
/** |
/** |
Line 1239 public class FM2SQL extends JFrame imple
|
Line 1457 public class FM2SQL extends JFrame imple
|
data[1].add("Layouts"); |
data[1].add("Layouts"); |
data[1].add("select"); |
data[1].add("select"); |
data[1].add("create"); |
data[1].add("create"); |
|
data[1].add(" id "); |
|
// TODO add id vector DBBean |
data[0] = new Vector(); |
data[0] = new Vector(); |
|
|
for (int i = 0; i < tableNames.size(); i++) |
for (int i = 0; i < tableNames.size(); i++) |
{ |
{ |
String name = tableNames.get(i).toString(); |
String name = tableNames.get(i).toString(); |
Line 1262 public class FM2SQL extends JFrame imple
|
Line 1480 public class FM2SQL extends JFrame imple
|
dataRow.add(new TableComponent.SQLCommand("select * from "+bean.getQC()+name+bean.getQC())); |
dataRow.add(new TableComponent.SQLCommand("select * from "+bean.getQC()+name+bean.getQC())); |
|
|
data[0].add(dataRow); |
data[0].add(dataRow); |
|
|
|
// create row |
|
dataRow.add(new TableComponent.SQLCommand("")); |
|
// id row |
dataRow.add(new TableComponent.SQLCommand("")); |
dataRow.add(new TableComponent.SQLCommand("")); |
|
bean.ids.add(""); |
//System.out.println(dataRow); |
//System.out.println(dataRow); |
} |
} |
tC.tableModel.setDataVector(data[0], data[1]); |
tC.tableModel.setDataVector(data[0], data[1]); |
Line 1273 public class FM2SQL extends JFrame imple
|
Line 1496 public class FM2SQL extends JFrame imple
|
} |
} |
public Vector[] getListFromTable() |
public Vector[] getListFromTable() |
{ |
{ |
Vector[] vec = new Vector[4]; |
Vector[] vec = new Vector[5]; |
vec[0] = new Vector(); |
vec[0] = new Vector(); |
vec[1] = new Vector(); |
vec[1] = new Vector(); |
vec[2] = new Vector(); |
vec[2] = new Vector(); |
vec[3] = new Vector(); |
vec[3] = new Vector(); |
|
vec[4] = new Vector(); |
int[] rows = tC.table.getSelectedRows(); |
int[] rows = tC.table.getSelectedRows(); |
for (int i = 0; i < rows.length; i++) |
for (int i = 0; i < rows.length; i++) |
{ |
{ |
Line 1288 public class FM2SQL extends JFrame imple
|
Line 1512 public class FM2SQL extends JFrame imple
|
vec[1].add(layoutName); |
vec[1].add(layoutName); |
vec[2].add(tC.tableModel.getValueAt(rows[i], 2).toString()); |
vec[2].add(tC.tableModel.getValueAt(rows[i], 2).toString()); |
vec[3].add(tC.tableModel.getValueAt(rows[i], 3).toString()); |
vec[3].add(tC.tableModel.getValueAt(rows[i], 3).toString()); |
|
vec[4].add(tC.tableModel.getValueAt(rows[i], 4).toString()); |
|
|
} |
} |
return vec; |
return vec; |