version 1.4, 2004/01/08 11:03:12
|
version 1.10, 2004/01/15 13:26:06
|
Line 61 class Convert
|
Line 61 class Convert
|
System.out.println("Finished!"); |
System.out.println("Finished!"); |
//convert("jdbc:fmpro:http://141.14.237.74:8050","jdbc:postgresql://erebos/test",null,null); |
//convert("jdbc:fmpro:http://141.14.237.74:8050","jdbc:postgresql://erebos/test",null,null); |
} |
} |
public static void convertBatch(DBBean source,DBBean destination,Vector names,Vector layouts,Vector selects,Vector creates) throws Exception |
public static void convertBatch(DBBean source,DBBean destination,Vector names,Vector layouts,Vector selects,Vector creates,int mode) throws Exception |
{ |
{ |
/*FM2SQL.ProgressDialog dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance); |
/*FM2SQL.ProgressDialog dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance); |
dialog.setTitle("Conversion running ..."); |
dialog.setTitle("Conversion running ..."); |
Line 139 class Convert
|
Line 139 class Convert
|
// System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString())); |
// System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString())); |
stm = beanDest.getConnection().createStatement(); |
stm = beanDest.getConnection().createStatement(); |
// System.exit(0); |
// System.exit(0); |
if(true) |
if(mode==Convert.DataBase.CONVERT_MODE) |
{ |
{ |
if(tables.indexOf(names.get(tbIndex))>=0) |
if(tables.indexOf(names.get(tbIndex))>=0) |
{ |
{ |
Line 307 class Convert
|
Line 307 class Convert
|
|
|
|
|
|
|
public static void convert(String source,String destination,Vector names,Vector layouts,Vector selects,Vector creates) throws Exception |
public static void convert(String source,String destination,Vector names,Vector layouts,Vector selects,Vector creates,int mode) throws Exception |
{ |
{ |
FM2SQL.ProgressDialog dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance); |
FM2SQL.ProgressDialog dialog = new FM2SQL.ProgressDialog(FM2SQL.fmInstance); |
dialog.setTitle("Conversion running ..."); |
dialog.setTitle("Conversion running ..."); |
Line 377 class Convert
|
Line 377 class Convert
|
// System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString())); |
// System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString())); |
stm = beanDest.getConnection().createStatement(); |
stm = beanDest.getConnection().createStatement(); |
// System.exit(0); |
// System.exit(0); |
if(true) |
if(mode==Convert.DataBase.CONVERT_MODE) |
{ |
{ |
if(tables.indexOf(names.get(tbIndex))>=0) |
if(tables.indexOf(names.get(tbIndex))>=0) |
{ |
{ |
Line 627 class Convert
|
Line 627 class Convert
|
alterMe.delete(j, j); |
alterMe.delete(j, j); |
length--; |
length--; |
} |
} |
|
else |
|
alterMe.setCharAt(j,'_'); |
} |
} |
|
|
++j; |
++j; |
Line 786 class Convert
|
Line 788 class Convert
|
Vector layouts = new Vector(); |
Vector layouts = new Vector(); |
Vector selects = new Vector(); |
Vector selects = new Vector(); |
Vector creates = new Vector(); |
Vector creates = new Vector(); |
|
Vector ids = new Vector(); |
|
int mode = -1; |
|
|
try |
try |
{ |
{ |
Line 801 class Convert
|
Line 805 class Convert
|
layouts = new Vector(); |
layouts = new Vector(); |
selects = new Vector(); |
selects = new Vector(); |
creates = new Vector(); |
creates = new Vector(); |
|
ids = new Vector(); |
// parse dataBase |
// parse dataBase |
Node node = root.find("convert/source/database/url", new int[] { 1, 1, i, 1 }); |
Node node = root.find("convert/source/database/url", new int[] { 1, 1, i, 1 }); |
Node node1 = root.find("convert/source/database/user", new int[] { 1, 1, i, 1, 1 }); |
Node node1 = root.find("convert/source/database/user", new int[] { 1, 1, i, 1, 1 }); |
Node node2 = root.find("convert/source/database/password", new int[] { 1, 1, i, 1, 1 }); |
Node node2 = root.find("convert/source/database/password", new int[] { 1, 1, i, 1, 1 }); |
Node node3 = root.find("convert/source/database", new int[] { 1, 1, i}); |
Node node3 = root.find("convert/source/database", new int[] { 1, 1, i}); |
|
Node nodeMode = root.find("convert/source/database/mode/", new int[] {1, 1, i, 1,1}); |
|
|
if(node3== null) throw new Error("parse error database tag missing"); |
if(node3== null) throw new Error("parse error database tag missing"); |
if(node==null) throw new Error("parse error url tag missing"); |
if(node==null) throw new Error("parse error url tag missing"); |
if(node1==null) throw new Error("parse error user tag missing"); |
if(node1==null) throw new Error("parse error user tag missing"); |
Line 819 class Convert
|
Line 825 class Convert
|
System.out.println(node.name + " " + node.getCharacters()); |
System.out.println(node.name + " " + node.getCharacters()); |
System.out.println(node1.name + " " + node1.getCharacters()); |
System.out.println(node1.name + " " + node1.getCharacters()); |
System.out.println(node2.name + " " + node2.getCharacters()); |
System.out.println(node2.name + " " + node2.getCharacters()); |
|
String modeString = ""; |
|
if (nodeMode == null) |
|
modeString = "convert"; |
|
else |
|
modeString = nodeMode.getCharacters(); |
|
if (modeString.equals("convert")) |
|
mode = DataBase.CONVERT_MODE; |
|
else |
|
if (modeString.equals("append")) |
|
mode = DataBase.APPEND_MODE; |
|
else |
|
if (modeString.equals("update")) |
|
mode = DataBase.UPDATE_MODE; |
// if(node3!=null) |
// if(node3!=null) |
// System.out.println(node3.name); |
// System.out.println(node3.name); |
|
|
Line 843 class Convert
|
Line 861 class Convert
|
// if(node6==null) throw new Error("parse error create tag missing"); |
// if(node6==null) throw new Error("parse error create tag missing"); |
String name = (String)node4.attributes.get("name"); |
String name = (String)node4.attributes.get("name"); |
String layout = (String)node4.attributes.get("layout"); |
String layout = (String)node4.attributes.get("layout"); |
|
String id = (String)node4.attributes.get("id"); |
|
System.out.println("id was "+id); |
if(name==null) throw new Error("parse error required table tag attribute name missing"); |
if(name==null) throw new Error("parse error required table tag attribute name missing"); |
if(layout==null) layout =""; |
if(layout==null) layout =""; |
|
if(id==null) id = ""; |
if(name.equals("")) throw new Error("parse error table tag attribute must not be empty"); |
if(name.equals("")) throw new Error("parse error table tag attribute must not be empty"); |
tables.add(name); |
tables.add(name); |
layouts.add(layout); |
layouts.add(layout); |
|
ids.add(id); |
String query = (node5==null) ? "":node5.getCharacters(); |
String query = (node5==null) ? "":node5.getCharacters(); |
if(query.equals("")) System.err.println("Warning empty select tag or select tag missing !!"); |
if(query.equals("")) System.err.println("Warning empty select tag or select tag missing !!"); |
query = (query.equals("")) ? "select * from "+database.getQC()+name+database.getQC():query; |
query = (query.equals("")) ? "select * from "+database.getQC()+name+database.getQC():query; |
Line 857 class Convert
|
Line 879 class Convert
|
creates.add(""); |
creates.add(""); |
|
|
} |
} |
databases.add(new DataBase(database, tables, layouts, selects,creates)); |
databases.add(new DataBase(database, tables, layouts, selects,creates,ids,mode)); |
} |
} |
DBBean database = new DBBean(); |
DBBean database = new DBBean(); |
// parse dataBase |
// parse dataBase |
Line 874 class Convert
|
Line 896 class Convert
|
for (Iterator iter = databases.iterator(); iter.hasNext();) |
for (Iterator iter = databases.iterator(); iter.hasNext();) |
{ |
{ |
DataBase db = (DataBase) iter.next(); |
DataBase db = (DataBase) iter.next(); |
convertBatch(db.bean,database,db.tables,db.layouts,db.selects,db.creates); |
convertBatch(db.bean,database,db.tables,db.layouts,db.selects,db.creates,mode); |
|
|
} |
} |
// printContents(node3); |
// printContents(node3); |
Line 1003 class Convert
|
Line 1025 class Convert
|
Vector layouts = new Vector(); |
Vector layouts = new Vector(); |
Vector selects = new Vector(); |
Vector selects = new Vector(); |
Vector creates = new Vector(); |
Vector creates = new Vector(); |
|
Vector ids = new Vector(); |
|
|
|
int mode = -1; |
try |
try |
{ |
{ |
Node tempNode = root.find("convert/source", new int[] { 1, 1 }); |
Node tempNode = root.find("convert/source", new int[] { 1, 1 }); |
Line 1018 class Convert
|
Line 1042 class Convert
|
layouts = new Vector(); |
layouts = new Vector(); |
selects = new Vector(); |
selects = new Vector(); |
creates = new Vector(); |
creates = new Vector(); |
|
ids = new Vector(); |
// parse dataBase |
// parse dataBase |
Node node = root.find("convert/source/database/url", new int[] { 1, 1, i, 1 }); |
Node node = root.find("convert/source/database/url", new int[] { 1, 1, i, 1 }); |
Node node1 = root.find("convert/source/database/user", new int[] { 1, 1, i, 1, 1 }); |
Node node1 = root.find("convert/source/database/user", new int[] { 1, 1, i, 1, 1 }); |
Node node2 = root.find("convert/source/database/password", new int[] { 1, 1, i, 1, 1 }); |
Node node2 = root.find("convert/source/database/password", new int[] { 1, 1, i, 1, 1 }); |
Node node3 = root.find("convert/source/database", new int[] { 1, 1, i}); |
Node node3 = root.find("convert/source/database", new int[] { 1, 1, i}); |
|
Node nodeMode = root.find("convert/source/database/mode", new int[] { 1, 1, i, 1, 1 }); |
|
|
if(node3== null) throw new Error("parse error database tag missing"); |
if(node3== null) throw new Error("parse error database tag missing"); |
if(node==null) throw new Error("parse error url tag missing"); |
if(node==null) throw new Error("parse error url tag missing"); |
if(node1==null) throw new Error("parse error user tag missing"); |
if(node1==null) throw new Error("parse error user tag missing"); |
Line 1036 class Convert
|
Line 1062 class Convert
|
System.out.println(node.name + " " + node.getCharacters()); |
System.out.println(node.name + " " + node.getCharacters()); |
System.out.println(node1.name + " " + node1.getCharacters()); |
System.out.println(node1.name + " " + node1.getCharacters()); |
System.out.println(node2.name + " " + node2.getCharacters()); |
System.out.println(node2.name + " " + node2.getCharacters()); |
|
String modeString = ""; |
|
if (nodeMode == null) |
|
modeString = "convert"; |
|
else |
|
modeString = nodeMode.getCharacters(); |
|
if (modeString.equals("convert")) |
|
mode = DataBase.CONVERT_MODE; |
|
else |
|
if (modeString.equals("append")) |
|
mode = DataBase.APPEND_MODE; |
|
else |
|
if (modeString.equals("update")) |
|
mode = DataBase.UPDATE_MODE; |
|
|
|
|
// if(node3!=null) |
// if(node3!=null) |
// System.out.println(node3.name); |
// System.out.println(node3.name); |
Line 1060 class Convert
|
Line 1100 class Convert
|
// if(node6==null) throw new Error("parse error create tag missing"); |
// if(node6==null) throw new Error("parse error create tag missing"); |
String name = (String)node4.attributes.get("name"); |
String name = (String)node4.attributes.get("name"); |
String layout = (String)node4.attributes.get("layout"); |
String layout = (String)node4.attributes.get("layout"); |
|
String id = (String)node4.attributes.get("id"); |
|
System.out.println("id was "+id); |
|
|
if(name==null) throw new Error("parse error required table tag attribute name missing"); |
if(name==null) throw new Error("parse error required table tag attribute name missing"); |
if(layout==null) layout =""; |
if(layout==null) layout =""; |
|
if(id == null) id=""; |
if(name.equals("")) throw new Error("parse error table tag attribute must not be empty"); |
if(name.equals("")) throw new Error("parse error table tag attribute must not be empty"); |
tables.add(name); |
tables.add(name); |
layouts.add(layout); |
layouts.add(layout); |
|
ids.add(id); |
String query = (node5==null) ? "":node5.getCharacters(); |
String query = (node5==null) ? "":node5.getCharacters(); |
if(query.equals("")) System.err.println("Warning empty select tag or select tag missing !!"); |
if(query.equals("")) System.err.println("Warning empty select tag or select tag missing !!"); |
query = (query.equals("")) ? "select * from "+database.getQC()+name+database.getQC():query; |
query = (query.equals("")) ? "select * from "+database.getQC()+name+database.getQC():query; |
Line 1074 class Convert
|
Line 1119 class Convert
|
creates.add(""); |
creates.add(""); |
|
|
} |
} |
databases.add(new DataBase(database, tables, layouts, selects,creates)); |
databases.add(new DataBase(database, tables, layouts, selects,creates,ids,mode)); |
} |
} |
DBBean database = new DBBean(); |
DBBean database = new DBBean(); |
// parse dataBase |
// parse dataBase |
Line 1087 class Convert
|
Line 1132 class Convert
|
System.out.println(url); |
System.out.println(url); |
database.setURL(url.trim()); |
database.setURL(url.trim()); |
database.setUserAndPasswd(user.trim(), password.trim()); |
database.setUserAndPasswd(user.trim(), password.trim()); |
databases.add(new DataBase(database,null,null,null,null)); |
databases.add(new DataBase(database,null,null,null,null,null,0)); |
//databases.add(database); |
//databases.add(database); |
/* for (Iterator iter = databases.iterator(); iter.hasNext();) |
/* for (Iterator iter = databases.iterator(); iter.hasNext();) |
{ |
{ |
Line 1167 public static class DataBase
|
Line 1212 public static class DataBase
|
Vector selects; |
Vector selects; |
Vector layouts; |
Vector layouts; |
Vector tables; |
Vector tables; |
public DataBase(DBBean bean,Vector tables,Vector layouts,Vector selects,Vector creates) |
Vector ids; |
|
final static int CONVERT_MODE = 1; |
|
final static int APPEND_MODE = 2; |
|
final static int UPDATE_MODE = 3; |
|
int mode = -1; |
|
|
|
public DataBase(DBBean bean,Vector tables,Vector layouts,Vector selects,Vector creates,Vector ids,int mode) |
{ |
{ |
this.bean = bean; |
this.bean = bean; |
this.tables = tables; |
this.tables = tables; |
this.layouts = layouts; |
this.layouts = layouts; |
this.selects = selects; |
this.selects = selects; |
this.creates = creates; |
this.creates = creates; |
|
this.ids = ids; |
|
this.mode = mode; |
} |
} |
public void exportToXML(BufferedWriter buffr) throws Exception |
public void exportToXML(BufferedWriter buffr) throws Exception |
{ |
{ |
Line 1181 public static class DataBase
|
Line 1234 public static class DataBase
|
buffr.write(" <url>"+bean.url+"</url>\n"); |
buffr.write(" <url>"+bean.url+"</url>\n"); |
buffr.write(" <user>"+bean.user+"</user>\n"); |
buffr.write(" <user>"+bean.user+"</user>\n"); |
buffr.write(" <password>"+bean.passwd+"</password>\n"); |
buffr.write(" <password>"+bean.passwd+"</password>\n"); |
|
String modeString =""; |
|
if (mode == CONVERT_MODE) |
|
modeString = "convert"; |
|
else |
|
if (mode == APPEND_MODE) |
|
modeString = "append"; |
|
else |
|
if (mode == UPDATE_MODE) |
|
modeString = "update"; |
|
|
|
buffr.write(" <mode>"+ modeString+"</mode>\n"); |
int index = 0; |
int index = 0; |
while(index<tables.size()) |
while(index<tables.size()) |
{ |
{ |
Line 1189 public static class DataBase
|
Line 1252 public static class DataBase
|
String layout=(String)layouts.get(index); |
String layout=(String)layouts.get(index); |
String select=(String)selects.get(index); |
String select=(String)selects.get(index); |
String create=(String)creates.get(index); |
String create=(String)creates.get(index); |
|
String id=(String)ids.get(index); |
|
|
buffr.write(" <table name = \""+table+"\" layout = \""+layout+"\">\n"); |
buffr.write(" <table name = \""+table+"\" layout = \""+layout+"\" id = \""+id+"\" +>\n"); |
buffr.write(" <select>"+ convertToEntities(select)+"</select>\n"); |
buffr.write(" <select>"+ convertToEntities(select)+"</select>\n"); |
if(!create.equals("")) |
if(!create.equals("")) |
buffr.write(" <create>"+create+" </create>\n"); |
buffr.write(" <create>"+create+" </create>\n"); |