version 1.26, 2004/03/08 13:57:40
|
version 1.34, 2004/04/05 10:14:01
|
Line 1
|
Line 1
|
|
/* |
|
* FM2SQL.java -- Main program Filemaker to SQL Converter |
|
* Copyright (C) 2003 Robert Gordesch (rogo@mpiwg-berlin.mpg.de) |
|
* This program is free software; you can redistribute it and/or modify it |
|
* under the terms of the GNU General Public License as published by the Free |
|
* Software Foundation; either version 2 of the License, or (at your option) |
|
* any later version. Please read license.txt for the full details. A copy of |
|
* the GPL may be found at http://www.gnu.org/copyleft/lgpl.html You should |
|
* have received a copy of the GNU General Public License along with this |
|
* program; if not, write to the Free Software Foundation, Inc., 59 Temple |
|
* Place, Suite 330, Boston, MA 02111-1307 USA Created on 15.09.2003 by |
|
* rogo |
|
*/ |
|
|
import java.awt.Cursor; |
import java.awt.Cursor; |
import java.awt.Dimension; |
import java.awt.Dimension; |
import java.awt.Font; |
import java.awt.Font; |
Line 600 public class FM2SQL extends JFrame imple
|
Line 614 public class FM2SQL extends JFrame imple
|
if (command.equals("Delimiter")) |
if (command.equals("Delimiter")) |
{ |
{ |
new DelimiterDialog(fmInstance).setVisible(true); |
new DelimiterDialog(fmInstance).setVisible(true); |
delimiter = JOptionPane.showInputDialog(fmInstance,"Enter delimiter String",delimiter); |
//delimiter = JOptionPane.showInputDialog(fmInstance,"Enter delimiter String",delimiter); |
|
|
} |
} |
|
|
Line 739 public class FM2SQL extends JFrame imple
|
Line 753 public class FM2SQL extends JFrame imple
|
}; |
}; |
thread.start(); |
thread.start(); |
} |
} |
|
if (command.equals("Delete Tables")) |
|
{ |
|
|
|
Thread thread = new Thread() |
|
{ |
|
public void run() |
|
{ |
|
setEnabled(false); |
|
delete(); |
|
setEnabled(true); |
|
} |
|
|
|
}; |
|
thread.start(); |
|
} |
|
|
if (command.equals("show Tables")) |
if (command.equals("show Tables")) |
{ |
{ |
Line 832 public class FM2SQL extends JFrame imple
|
Line 861 public class FM2SQL extends JFrame imple
|
} |
} |
|
|
} |
} |
|
public void delete() |
|
{ |
|
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.delete(bean.url, destURLBox.getSelectedItem().toString(), vectors[0], vectors[1], vectors[2], vectors[3],vectors[4], mode); |
|
|
|
destBean.setConnection((String) destURLBox.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(), "Delete 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 877 public class FM2SQL extends JFrame imple
|
Line 940 public class FM2SQL extends JFrame imple
|
if(appendItem.isSelected()) mode = Convert.DataBase.APPEND_MODE; |
if(appendItem.isSelected()) mode = Convert.DataBase.APPEND_MODE; |
else |
else |
if(updateItem.isSelected()) mode = Convert.DataBase.UPDATE_MODE; |
if(updateItem.isSelected()) mode = Convert.DataBase.UPDATE_MODE; |
|
else |
|
if(deleteItem.isSelected()) mode = Convert.DataBase.DELETE_MODE; |
|
|
// TODO add id vector in table and write it out |
// 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 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); |
Convert.DataBase destination = new Convert.DataBase(destBean,new Vector(),new Vector(),new Vector(),new Vector(),new Vector(),-1); |
Line 922 public class FM2SQL extends JFrame imple
|
Line 988 public class FM2SQL extends JFrame imple
|
|
|
if (database.mode == Convert.DataBase.CONVERT_MODE) |
if (database.mode == Convert.DataBase.CONVERT_MODE) |
{ |
{ |
convertItem.setSelected(true); |
convertItem.doClick(); |
convert.setText("Convert Tables"); |
|
convert.setActionCommand("Convert Tables"); |
|
mode = Convert.DataBase.CONVERT_MODE; |
|
} else if (database.mode == Convert.DataBase.APPEND_MODE) |
} else if (database.mode == Convert.DataBase.APPEND_MODE) |
{ |
{ |
appendItem.setSelected(true); |
appendItem.doClick(); |
convert.setText("Append Tables"); |
|
convert.setActionCommand("Append Tables"); |
|
mode = Convert.DataBase.APPEND_MODE; |
|
} else if (database.mode == Convert.DataBase.UPDATE_MODE) |
} else if (database.mode == Convert.DataBase.UPDATE_MODE) |
{ |
{ |
updateItem.setSelected(true); |
updateItem.doClick(); |
convert.setText("Update Tables"); |
} else if (database.mode == Convert.DataBase.DELETE_MODE) |
convert.setActionCommand("Update Tables"); |
{ |
mode = Convert.DataBase.UPDATE_MODE; |
deleteItem.doClick(); |
} |
} |
delimiter=database.delimiter; |
delimiter=database.delimiter; |
database.bean.getConnection(); |
database.bean.getConnection(); |
Line 967 public class FM2SQL extends JFrame imple
|
Line 1027 public class FM2SQL extends JFrame imple
|
Object idcomboBox=tC.tableModel.getValueAt(index,ID_INDEX); |
Object idcomboBox=tC.tableModel.getValueAt(index,ID_INDEX); |
|
|
indices[i] = index; |
indices[i] = index; |
if(comboBox!=null) ((JComboBox)comboBox).setSelectedItem(database.layouts.get(i)); |
if (comboBox != null) |
|
{ |
|
String layout = database.layouts.get(i).toString(); |
|
((JComboBox) comboBox).setSelectedItem(layout); |
|
if (layout != "") |
|
{ |
|
bean.makeQuery("select * from" + bean.getQC() + table + bean.getQC() + " layout " + bean.getQC() + layout + bean.getQC(), 1); |
|
|
|
Vector idVec = bean.getColumnNames(); |
|
if (idVec == null) |
|
idVec = new Vector(); |
|
idVec.add(0, ""); |
|
((JComboBox) idcomboBox).setModel(new DefaultComboBoxModel(idVec)); |
|
} |
|
|
|
} |
if(idcomboBox!=null)((JComboBox)idcomboBox).setSelectedItem(bean.ids.get(i)); |
if(idcomboBox!=null)((JComboBox)idcomboBox).setSelectedItem(bean.ids.get(i)); |
tC.tableModel.fireTableDataChanged(); |
tC.tableModel.fireTableDataChanged(); |
noDBUpdate = false; |
noDBUpdate = false; |
Line 1008 public class FM2SQL extends JFrame imple
|
Line 1083 public class FM2SQL extends JFrame imple
|
} |
} |
public boolean showTable(int list) |
public boolean showTable(int list) |
{ |
{ |
ProgressDialog dialog = new ProgressDialog(fm); |
ProgressDialog dialog = new ProgressDialog(fm,bean); |
dialog.setTitle("Preparing tables to be displayed"); |
dialog.setTitle("Preparing tables to be displayed"); |
dialog.thread = Thread.currentThread(); |
dialog.thread = Thread.currentThread(); |
dialog.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
dialog.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
Line 1217 public class FM2SQL extends JFrame imple
|
Line 1292 public class FM2SQL extends JFrame imple
|
if (columnName.equals("Layouts")) |
if (columnName.equals("Layouts")) |
{ |
{ |
|
|
bean.makeQuery("select * from"+bean.getQC()+table+bean.getQC(),1); |
bean.makeQuery("select * from"+bean.getQC()+table+bean.getQC()+" layout "+bean.getQC()+layout+bean.getQC(),1); |
|
|
Vector idVec = bean.getColumnNames(); |
Vector idVec = bean.getColumnNames(); |
if (idVec == null) |
if (idVec == null) |
Line 1226 public class FM2SQL extends JFrame imple
|
Line 1301 public class FM2SQL extends JFrame imple
|
JComboBox box = ((JComboBox) model.getValueAt(row, ID_INDEX)); |
JComboBox box = ((JComboBox) model.getValueAt(row, ID_INDEX)); |
box.setModel(new DefaultComboBoxModel(idVec)); |
box.setModel(new DefaultComboBoxModel(idVec)); |
box.setSelectedItem(id); |
box.setSelectedItem(id); |
|
|
|
tC.tableModel.fireTableCellUpdated(row,ID_INDEX); |
} |
} |
|
|
} |
} |
Line 1409 public class FM2SQL extends JFrame imple
|
Line 1486 public class FM2SQL extends JFrame imple
|
JProgressBar progress = new JProgressBar(); |
JProgressBar progress = new JProgressBar(); |
JButton cancel = new JButton("Cancel"); |
JButton cancel = new JButton("Cancel"); |
Thread thread; |
Thread thread; |
public ProgressDialog(JFrame frame) |
DBBean bean; |
|
public ProgressDialog(JFrame frame,DBBean bean) |
{ |
{ |
super(frame); |
super(frame); |
|
this.bean = bean; |
|
|
content = new JPanel(true); |
content = new JPanel(true); |
//content.setBorder(BorderFactory.createRaisedBevelBorder()); |
//content.setBorder(BorderFactory.createRaisedBevelBorder()); |
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS)); |
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS)); |
Line 1446 public class FM2SQL extends JFrame imple
|
Line 1526 public class FM2SQL extends JFrame imple
|
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); |
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); |
fmInstance.setEnabled(true); |
fmInstance.setEnabled(true); |
setVisible(false); |
setVisible(false); |
|
try |
|
{ |
|
ProgressDialog.this.bean.getConnection().close(); |
|
} catch (SQLException e1) |
|
{ |
|
// TODO Auto-generated catch block |
|
e1.printStackTrace(); |
|
} catch (Exception e1) |
|
{ |
|
// TODO Auto-generated catch block |
|
e1.printStackTrace(); |
|
} |
thread.stop(); |
thread.stop(); |
} |
} |
}); |
}); |
Line 1474 public class FM2SQL extends JFrame imple
|
Line 1566 public class FM2SQL extends JFrame imple
|
setTitle("Delimiter Editor"); |
setTitle("Delimiter Editor"); |
setModal(true); |
setModal(true); |
content = new JPanel(true); |
content = new JPanel(true); |
|
delimiter.setText(fmInstance.delimiter); |
ActionListener al = new ActionListener() |
ActionListener al = new ActionListener() |
{ |
{ |
public void actionPerformed(ActionEvent e) |
public void actionPerformed(ActionEvent e) |