--- FM2SQL/Attic/FM2SQL.java 2004/05/27 13:03:42 1.36 +++ FM2SQL/Attic/FM2SQL.java 2004/09/22 11:14:10 1.42 @@ -32,6 +32,7 @@ import java.io.FileWriter; import java.io.PrintStream; import java.sql.SQLException; import java.sql.Statement; +import java.text.ParseException; import java.util.Collections; import java.util.Iterator; import java.util.Vector; @@ -86,7 +87,7 @@ public class FM2SQL extends JFrame imple private JCheckBoxMenuItem appendItem; private JCheckBoxMenuItem updateItem; private JCheckBoxMenuItem deleteItem; - + private JCheckBoxMenuItem useNormanToUnicodeMapper; int mode = -1; final static int STATUS_INDEX = 0; final static int NAME_INDEX = 1; @@ -176,7 +177,7 @@ public class FM2SQL extends JFrame imple setIconImage(local); bean = new DBBean(); destBean = new DBBean(); - sourceURLBox = new JComboBox(new String[] { "jdbc:fmpro:http://141.14.237.74:8050", "jdbc:fmpro:http://localhost", "jdbc:postgresql://foxridge/test" }); + sourceURLBox = new JComboBox(new String[] { "jdbc:fmpro:http://141.14.237.74:8050", "jdbc:fmpro:http://localhost", "jdbc:postgresql://foxridge/test","jdbc:sequelink://r583-3:2399" }); sourceURLBox.setEditable(true); sourceURLBox.setFont(new Font("Times New Roman",Font.PLAIN,14)); destURLBox = new JComboBox(new String[] { "jdbc:postgresql://foxridge/test", "jdbc:postgresql://erebos/test1" }); @@ -333,6 +334,8 @@ public class FM2SQL extends JFrame imple { public void windowClosing(WindowEvent e) { + bean.closeAllConnections(); + destBean.closeAllConnections(); System.exit(0); } }); @@ -653,7 +656,10 @@ public class FM2SQL extends JFrame imple convert.setToolTipText("Deletes data that has been deleted in source"); mode = Convert.DataBase.DELETE_MODE; } - +if(command.equals("use NormanToUnicodeMapper")) +{ + if(bean!=null) bean.setUseNormanToUnicodeMapper(useNormanToUnicodeMapper.isSelected()); +} //writing config if (command.equals("save XML Config")) { @@ -820,6 +826,8 @@ public class FM2SQL extends JFrame imple } if(command.equals("Quit")) { + bean.closeAllConnections(); + destBean.closeAllConnections(); fmInstance.dispose(); System.exit(0); @@ -949,6 +957,7 @@ public class FM2SQL extends JFrame imple 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); source.delimiter =delimiter; + source.useNormanToUnicodeMapper=useNormanToUnicodeMapper.isSelected(); try { Convert.writeConfig(file,source,destination); @@ -1005,6 +1014,7 @@ public class FM2SQL extends JFrame imple database.bean.getConnection(); bean = database.bean; + if(bean.isUseNormanToUnicodeMapper()) useNormanToUnicodeMapper.setSelected(true); Object obj =bean.url; ((DefaultComboBoxModel) sourceURLBox.getModel()).removeElement(obj); ((DefaultComboBoxModel) sourceURLBox.getModel()).insertElementAt(obj,0); @@ -1396,6 +1406,10 @@ public class FM2SQL extends JFrame imple bgrp.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); item = new JMenuItem("show Driver features"); @@ -1752,6 +1766,7 @@ public class FM2SQL extends JFrame imple public void fillTable() { noDBUpdate = true; + bean.setUseNormanToUnicodeMapper(useNormanToUnicodeMapper.isSelected()); Vector tableNames = bean.getTableNames(); Collections.sort(tableNames, String.CASE_INSENSITIVE_ORDER); Vector[] data = new Vector[2]; @@ -1860,7 +1875,7 @@ public class FM2SQL extends JFrame imple 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));