version 1.23, 2004/03/03 12:10:32
|
version 1.40, 2004/06/23 10:00:06
|
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 18 import java.io.FileWriter;
|
Line 32 import java.io.FileWriter;
|
import java.io.PrintStream; |
import java.io.PrintStream; |
import java.sql.SQLException; |
import java.sql.SQLException; |
import java.sql.Statement; |
import java.sql.Statement; |
|
import java.text.ParseException; |
import java.util.Collections; |
import java.util.Collections; |
import java.util.Iterator; |
import java.util.Iterator; |
import java.util.Vector; |
import java.util.Vector; |
Line 67 import javax.swing.table.TableModel;
|
Line 82 import javax.swing.table.TableModel;
|
*/ |
*/ |
public class FM2SQL extends JFrame implements ActionListener, TableModelListener |
public class FM2SQL extends JFrame implements ActionListener, TableModelListener |
{ |
{ |
|
private JMenuItem delimiterItem; |
private JCheckBoxMenuItem convertItem; |
private JCheckBoxMenuItem convertItem; |
private JCheckBoxMenuItem appendItem; |
private JCheckBoxMenuItem appendItem; |
private JCheckBoxMenuItem updateItem; |
private JCheckBoxMenuItem updateItem; |
private JCheckBoxMenuItem deleteItem; |
private JCheckBoxMenuItem deleteItem; |
|
private JCheckBoxMenuItem useNormanToUnicodeMapper; |
int mode = -1; |
int mode = -1; |
final static int ID_INDEX = 1; |
final static int STATUS_INDEX = 0; |
final static int SELECT_INDEX = 2; |
final static int NAME_INDEX = 1; |
final static int CREATE_INDEX = 3; |
final static int ID_INDEX = 2; |
final static int LAYOUT_INDEX = 4; |
final static int SELECT_INDEX = 3; |
|
final static int CREATE_INDEX = 4; |
|
final static int LAYOUT_INDEX = 5; |
|
|
|
|
|
|
Line 596 public class FM2SQL extends JFrame imple
|
Line 614 public class FM2SQL extends JFrame imple
|
{ |
{ |
} |
} |
} |
} |
|
if (command.equals("Delimiter")) |
|
{ |
|
new DelimiterDialog(fmInstance).setVisible(true); |
|
//delimiter = JOptionPane.showInputDialog(fmInstance,"Enter delimiter String",delimiter); |
|
|
|
} |
|
|
if (command == "Convert Mode") |
if (command == "Convert Mode") |
{ |
{ |
System.out.println("Convert Mode selected"); |
System.out.println("Convert Mode selected"); |
Line 629 public class FM2SQL extends JFrame imple
|
Line 654 public class FM2SQL extends JFrame imple
|
convert.setToolTipText("Deletes data that has been deleted in source"); |
convert.setToolTipText("Deletes data that has been deleted in source"); |
mode = Convert.DataBase.DELETE_MODE; |
mode = Convert.DataBase.DELETE_MODE; |
} |
} |
|
if(command.equals("use NormanToUnicodeMapper")) |
|
{ |
|
if(bean!=null) bean.setUseNormanToUnicodeMapper(useNormanToUnicodeMapper.isSelected()); |
|
} |
//writing config |
//writing config |
if (command.equals("save XML Config")) |
if (command.equals("save XML Config")) |
{ |
{ |
Line 731 public class FM2SQL extends JFrame imple
|
Line 759 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 824 public class FM2SQL extends JFrame imple
|
Line 867 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 840 public class FM2SQL extends JFrame imple
|
Line 917 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, destURLBox.getSelectedItem().toString(), vectors[0], vectors[1],vectors[2],vectors[3],vectors[4],mode,delimiter); |
Convert.convert(bean.url, destURLBox.getSelectedItem().toString(), vectors[0], vectors[1],vectors[2],vectors[3],vectors[4],mode,delimiter); |
System.out.println("delimiter "+delimiter); |
|
destBean.setConnection((String) destURLBox.getSelectedItem()); |
destBean.setConnection((String) destURLBox.getSelectedItem()); |
DefaultListModel model = new DefaultListModel(); |
DefaultListModel model = new DefaultListModel(); |
tables = destBean.getTableNames(); |
tables = destBean.getTableNames(); |
Line 870 public class FM2SQL extends JFrame imple
|
Line 946 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); |
source.delimiter =delimiter; |
source.delimiter =delimiter; |
|
source.useNormanToUnicodeMapper=useNormanToUnicodeMapper.isSelected(); |
try |
try |
{ |
{ |
Convert.writeConfig(file,source,destination); |
Convert.writeConfig(file,source,destination); |
Line 915 public class FM2SQL extends JFrame imple
|
Line 995 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; |
System.out.println("Delimiter in readXML ist "+delimiter); |
|
database.bean.getConnection(); |
database.bean.getConnection(); |
|
|
bean = database.bean; |
bean = database.bean; |
|
if(bean.isUseNormanToUnicodeMapper()) useNormanToUnicodeMapper.setSelected(true); |
Object obj =bean.url; |
Object obj =bean.url; |
((DefaultComboBoxModel) sourceURLBox.getModel()).removeElement(obj); |
((DefaultComboBoxModel) sourceURLBox.getModel()).removeElement(obj); |
((DefaultComboBoxModel) sourceURLBox.getModel()).insertElementAt(obj,0); |
((DefaultComboBoxModel) sourceURLBox.getModel()).insertElementAt(obj,0); |
Line 961 public class FM2SQL extends JFrame imple
|
Line 1035 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 971 public class FM2SQL extends JFrame imple
|
Line 1060 public class FM2SQL extends JFrame imple
|
// add Selections |
// add Selections |
ListSelectionModel lm = tC.table.getSelectionModel(); |
ListSelectionModel lm = tC.table.getSelectionModel(); |
for(int i=0;i<indices.length;++i) |
for(int i=0;i<indices.length;++i) |
|
{ |
lm.addSelectionInterval(indices[i],indices[i]); |
lm.addSelectionInterval(indices[i],indices[i]); |
|
tC.tableModel.setValueAt(Boolean.TRUE,indices[i],STATUS_INDEX); |
|
} |
destBean.getConnection(); |
destBean.getConnection(); |
|
|
DefaultListModel model = new DefaultListModel(); |
DefaultListModel model = new DefaultListModel(); |
Line 1002 public class FM2SQL extends JFrame imple
|
Line 1093 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 1194 public class FM2SQL extends JFrame imple
|
Line 1285 public class FM2SQL extends JFrame imple
|
{ |
{ |
if(columnName.equals("select")||columnName.equals("Layouts")) |
if(columnName.equals("select")||columnName.equals("Layouts")) |
{ |
{ |
String table = model.getValueAt(row,0).toString(); |
String table = model.getValueAt(row,NAME_INDEX).toString(); |
String layout = (model.getValueAt(row,LAYOUT_INDEX)!=null) ?((JComboBox)model.getValueAt(row,LAYOUT_INDEX)).getSelectedItem().toString():""; |
String layout = (model.getValueAt(row,LAYOUT_INDEX)!=null) ?((JComboBox)model.getValueAt(row,LAYOUT_INDEX)).getSelectedItem().toString():""; |
String query = model.getValueAt(row,SELECT_INDEX).toString(); |
String query = model.getValueAt(row,SELECT_INDEX).toString(); |
String create = model.getValueAt(row,CREATE_INDEX).toString(); |
String create = model.getValueAt(row,CREATE_INDEX).toString(); |
Line 1211 public class FM2SQL extends JFrame imple
|
Line 1302 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 1220 public class FM2SQL extends JFrame imple
|
Line 1311 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 1276 public class FM2SQL extends JFrame imple
|
Line 1369 public class FM2SQL extends JFrame imple
|
menu = new JMenu("Options"); |
menu = new JMenu("Options"); |
menu.setMnemonic('O'); |
menu.setMnemonic('O'); |
|
|
item = new JMenuItem("show Driver features"); |
|
item.setToolTipText("shows the features of the selected driver"); |
|
item.addActionListener(fm); |
|
menu.add(item); |
|
menubar.add(menu); |
|
|
|
ButtonGroup bgrp = new ButtonGroup(); |
ButtonGroup bgrp = new ButtonGroup(); |
convertItem = new JCheckBoxMenuItem("Convert Mode"); |
convertItem = new JCheckBoxMenuItem("Convert Mode"); |
convertItem.setToolTipText("Normal table conversion existing table will be deleted"); |
convertItem.setToolTipText("Normal table conversion existing table will be deleted"); |
Line 1315 public class FM2SQL extends JFrame imple
|
Line 1402 public class FM2SQL extends JFrame imple
|
bgrp.add(deleteItem); |
bgrp.add(deleteItem); |
|
|
menu.add(deleteItem); |
menu.add(deleteItem); |
|
useNormanToUnicodeMapper = new JCheckBoxMenuItem("use NormanToUnicodeMapper"); |
|
useNormanToUnicodeMapper.setToolTipText("maps characters in norman encoding to unicode characters"); |
|
useNormanToUnicodeMapper.addActionListener(fm); |
|
menu.add(useNormanToUnicodeMapper); |
|
|
menubar.add(menu); |
menubar.add(menu); |
|
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); |
|
delimiterItem = new JMenuItem("Delimiter"); |
|
delimiterItem.setToolTipText("Delimiter for FM Arrayfields"); |
|
delimiterItem.addActionListener(fm); |
|
menu.add(delimiterItem); |
|
menubar.add(menu); |
|
|
|
// item.addActionListener(fm); |
|
// menu.add(item); |
|
|
menubar.add(menu); |
menubar.add(menu); |
|
|
Line 1399 public class FM2SQL extends JFrame imple
|
Line 1500 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 1436 public class FM2SQL extends JFrame imple
|
Line 1540 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 1444 public class FM2SQL extends JFrame imple
|
Line 1560 public class FM2SQL extends JFrame imple
|
} |
} |
|
|
} |
} |
|
public static class DelimiterDialog extends JDialog |
|
{ |
|
JLabel table = new JLabel(" "); |
|
JLabel status = new JLabel(" "); |
|
JLabel title = new JLabel(" "); |
|
JPanel content = new JPanel(); |
|
JPanel titlePanel = new JPanel(); |
|
JPanel delimiterPanel = new JPanel(); |
|
JPanel buttonPanel = new JPanel(); |
|
JTextField delimiter = new JTextField(10); |
|
|
|
JButton cancel = new JButton("Cancel"); |
|
JButton ok = new JButton("Ok"); |
|
Thread thread; |
|
public DelimiterDialog(JFrame frame) |
|
{ |
|
super(frame); |
|
setTitle("Delimiter Editor"); |
|
setModal(true); |
|
content = new JPanel(true); |
|
delimiter.setText(fmInstance.delimiter); |
|
ActionListener al = new ActionListener() |
|
{ |
|
public void actionPerformed(ActionEvent e) |
|
{ |
|
fmInstance.delimiter=parseDelimiter(delimiter.getText()); |
|
setVisible(false); |
|
} |
|
|
|
}; |
|
this.addWindowListener(new WindowAdapter() |
|
{ |
|
public void windowClosing(WindowEvent e) |
|
{ |
|
cancel.doClick(); |
|
} |
|
}); |
|
|
|
//delimiter.setText(fmInstance.delimiter); |
|
delimiter.addActionListener(al); |
|
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS)); |
|
title = new JLabel("Enter Delimiter "); |
|
title.setHorizontalTextPosition(title.CENTER); |
|
titlePanel.add(title); |
|
buttonPanel.add(ok); |
|
buttonPanel.add(cancel); |
|
content.add(titlePanel); |
|
content.add(Box.createRigidArea(new java.awt.Dimension(0, 15))); |
|
|
|
content.add(new JLabel("")); |
|
content.add(delimiterPanel); |
|
content.add(buttonPanel); |
|
content.add(Box.createRigidArea(new java.awt.Dimension(0, 15))); |
|
|
|
delimiterPanel.add(new JLabel("Delimiter: ")); |
|
delimiterPanel.add(delimiter); |
|
getContentPane().add(titlePanel, "North"); |
|
getContentPane().add(content, "Center"); |
|
ok.addActionListener(al); |
|
cancel.addActionListener(new ActionListener() |
|
{ |
|
public void actionPerformed(ActionEvent e) |
|
{ |
|
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); |
|
fmInstance.setEnabled(true); |
|
setVisible(false); |
|
// thread.stop(); |
|
} |
|
|
|
}); |
|
pack(); |
|
setLocationRelativeTo(fmInstance); |
|
} |
|
public String parseDelimiter(Object o) |
|
{ |
|
String str = o.toString(); |
|
StringBuffer sbuff = new StringBuffer(); |
|
int length = str.length(); |
|
for(int i = 0;i<length;++i) |
|
{ |
|
|
|
if(str.charAt(i)=='\\') |
|
{ |
|
System.out.println(str.charAt(i)); |
|
if (str.charAt(i + 1) == 'r') |
|
{ |
|
sbuff.append("\r"); |
|
} |
|
if (str.charAt(i + 1) == 't') |
|
{ |
|
sbuff.append("\t"); |
|
} |
|
if (str.charAt(i + 1) == 'n') |
|
{ |
|
sbuff.append("\n"); |
|
} |
|
if (str.charAt(i + 1) == '\\') |
|
{ |
|
sbuff.append("\\"); |
|
} |
|
|
|
if(i<length-1) ++i; |
|
|
|
} else sbuff.append(str.charAt(i)); |
|
} |
|
|
|
return sbuff.toString(); |
|
} |
|
} |
|
|
|
|
public static class PasswordDialog extends JDialog |
public static class PasswordDialog extends JDialog |
{ |
{ |
JLabel table = new JLabel(" "); |
JLabel table = new JLabel(" "); |
Line 1535 public class FM2SQL extends JFrame imple
|
Line 1762 public class FM2SQL extends JFrame imple
|
public void fillTable() |
public void fillTable() |
{ |
{ |
noDBUpdate = true; |
noDBUpdate = true; |
|
bean.setUseNormanToUnicodeMapper(useNormanToUnicodeMapper.isSelected()); |
Vector tableNames = bean.getTableNames(); |
Vector tableNames = bean.getTableNames(); |
Collections.sort(tableNames, String.CASE_INSENSITIVE_ORDER); |
Collections.sort(tableNames, String.CASE_INSENSITIVE_ORDER); |
Vector[] data = new Vector[2]; |
Vector[] data = new Vector[2]; |
data[1] = new Vector(5); |
data[1] = new Vector(6); |
data[1].setSize(5); |
data[1].setSize(6); |
data[1].set(0," source Tablename "); |
data[1].set(STATUS_INDEX," "); |
|
data[1].set(NAME_INDEX," source Tablename "); |
data[1].set(LAYOUT_INDEX,"Layouts"); |
data[1].set(LAYOUT_INDEX,"Layouts"); |
data[1].set(SELECT_INDEX,"select"); |
data[1].set(SELECT_INDEX,"select"); |
data[1].set(CREATE_INDEX,"create"); |
data[1].set(CREATE_INDEX,"create"); |
Line 1564 public class FM2SQL extends JFrame imple
|
Line 1793 public class FM2SQL extends JFrame imple
|
idVec = bean.getColumnNames(); |
idVec = bean.getColumnNames(); |
if(idVec==null) idVec=new Vector(); |
if(idVec==null) idVec=new Vector(); |
idVec.add(0,""); |
idVec.add(0,""); |
Vector dataRow = new Vector(5); |
Vector dataRow = new Vector(6); |
|
|
dataRow.setSize(5); |
dataRow.setSize(6); |
dataRow.set(0,name); |
dataRow.set(STATUS_INDEX,Boolean.FALSE); |
|
dataRow.set(NAME_INDEX,name); |
|
|
dataRow.set(SELECT_INDEX,new TableComponent.SQLCommand("select * from " + bean.getQC() + name + bean.getQC())); |
dataRow.set(SELECT_INDEX,new TableComponent.SQLCommand("select * from " + bean.getQC() + name + bean.getQC())); |
if (!layouts.isEmpty()) |
if (!layouts.isEmpty()) |
Line 1586 public class FM2SQL extends JFrame imple
|
Line 1816 public class FM2SQL extends JFrame imple
|
//System.out.println(dataRow); |
//System.out.println(dataRow); |
} |
} |
|
|
|
tC.booleanRenderer.renderFalseEmpty=true; |
tC.tableModel.setDataVector(data[0], data[1]); |
tC.tableModel.setDataVector(data[0], data[1]); |
//@TODO new sizeToFit method needed |
//@TODO new sizeToFit method needed |
//tC.sizeToFit(450, 250); |
//tC.sizeToFit(450, 250); |
Line 1604 public class FM2SQL extends JFrame imple
|
Line 1835 public class FM2SQL extends JFrame imple
|
vec[2] = new Vector(); |
vec[2] = new Vector(); |
vec[3] = new Vector(); |
vec[3] = new Vector(); |
vec[4] = new Vector(); |
vec[4] = new Vector(); |
|
for(int i=0;i<tC.tableModel.getRowCount();++i) |
|
{ |
|
} |
int[] rows = tC.table.getSelectedRows(); |
int[] rows = tC.table.getSelectedRows(); |
for (int i = 0; i < rows.length; i++) |
for (int i = 0; i < tC.tableModel.getRowCount(); i++) |
|
{ |
|
if(((Boolean)tC.tableModel.getValueAt(i,STATUS_INDEX))==Boolean.FALSE) |
{ |
{ |
|
System.out.println("skipped row "+i); |
|
continue; |
|
} |
|
|
//System.out.println(tC.tableModel.getValueAt(rows[i],1)); |
//System.out.println(tC.tableModel.getValueAt(rows[i],1)); |
vec[0].add(tC.tableModel.getValueAt(rows[i], 0)); |
vec[0].add(tC.tableModel.getValueAt(i, NAME_INDEX)); |
JComboBox box = ((JComboBox) tC.tableModel.getValueAt(rows[i], LAYOUT_INDEX)); |
JComboBox box = ((JComboBox) tC.tableModel.getValueAt(i, LAYOUT_INDEX)); |
String layoutName = (box != null) ? box.getSelectedItem().toString() : ""; |
String layoutName = (box != null) ? box.getSelectedItem().toString() : ""; |
|
|
String idName = ((JComboBox)tC.tableModel.getValueAt(rows[i], ID_INDEX)).getSelectedItem().toString(); |
String idName = ((JComboBox)tC.tableModel.getValueAt(i, ID_INDEX)).getSelectedItem().toString(); |
vec[1].add(layoutName); |
vec[1].add(layoutName); |
vec[2].add(tC.tableModel.getValueAt(rows[i],SELECT_INDEX ).toString()); |
vec[2].add(tC.tableModel.getValueAt(i,SELECT_INDEX ).toString()); |
vec[3].add(tC.tableModel.getValueAt(rows[i], CREATE_INDEX).toString()); |
vec[3].add(tC.tableModel.getValueAt(i, CREATE_INDEX).toString()); |
vec[4].add(idName); |
vec[4].add(idName); |
|
|
} |
} |
Line 1631 public class FM2SQL extends JFrame imple
|
Line 1871 public class FM2SQL extends JFrame imple
|
destURLBox.setEnabled(state); |
destURLBox.setEnabled(state); |
|
|
} |
} |
public TableComponent.SQLCommand createStatement(String table,DBBean beanDest,String layout,String query) throws SQLException |
public TableComponent.SQLCommand createStatement(String table,DBBean beanDest,String layout,String query) throws SQLException, ParseException |
{ |
{ |
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
fmInstance.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); |
|
|