version 1.68, 2004/08/05 11:17:10
|
version 1.69, 2004/08/06 11:15:41
|
Line 31 import java.sql.Statement;
|
Line 31 import java.sql.Statement;
|
import java.sql.Types; |
import java.sql.Types; |
import java.text.ParseException; |
import java.text.ParseException; |
import java.util.ArrayList; |
import java.util.ArrayList; |
|
import java.util.Hashtable; |
import java.util.Iterator; |
import java.util.Iterator; |
import java.util.List; |
import java.util.List; |
import java.util.Properties; |
|
import java.util.StringTokenizer; |
import java.util.StringTokenizer; |
import java.util.TreeSet; |
import java.util.TreeSet; |
import java.util.Vector; |
import java.util.Vector; |
Line 41 import java.util.Vector;
|
Line 41 import java.util.Vector;
|
import com.exploringxml.xml.Node; |
import com.exploringxml.xml.Node; |
import com.exploringxml.xml.Xparse; |
import com.exploringxml.xml.Xparse; |
|
|
|
|
class Convert |
class Convert |
{ |
{ |
|
/**Helper class for index creation |
|
* @author rogo |
|
* |
|
*/ |
|
public static class IndexList extends Vector |
|
{ |
|
public String toString() |
|
{ |
|
StringBuffer buff = new StringBuffer(1000); |
|
int count = 0; |
|
for (Iterator iter = this.iterator(); iter.hasNext();) |
|
{ |
|
String element = (String) iter.next(); |
|
if (count < elementCount-1) |
|
{ |
|
buff.append(element).append(", "); |
|
count++; |
|
} else |
|
buff.append(element); |
|
|
|
} |
|
|
|
return buff.toString(); |
|
} |
|
} |
static DBBean bean = new DBBean(); |
static DBBean bean = new DBBean(); |
static DBBean beanDest = new DBBean(); |
static DBBean beanDest = new DBBean(); |
|
|
Line 1127 class Convert
|
Line 1153 class Convert
|
Vector selects = new Vector(); |
Vector selects = new Vector(); |
Vector creates = new Vector(); |
Vector creates = new Vector(); |
Vector ids = new Vector(); |
Vector ids = new Vector(); |
|
Vector indexListVec= new Vector(); |
String delimiter = "|"; |
String delimiter = "|"; |
int mode = -1; |
int mode = -1; |
|
|
Line 1146 class Convert
|
Line 1173 class Convert
|
selects = new Vector(); |
selects = new Vector(); |
creates = new Vector(); |
creates = new Vector(); |
ids = new Vector(); |
ids = new Vector(); |
|
indexListVec= 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 }); |
Line 1220 class Convert
|
Line 1248 class Convert
|
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"); |
String id = (String) node4.attributes.get("id"); |
|
String indexList = (String) node4.attributes.get("indexList"); |
|
|
System.out.println("id was " + id); |
System.out.println("id was " + id); |
if (name == null) |
if (name == null) |
throw new Error("parse error required table tag attribute name missing"); |
throw new Error("parse error required table tag attribute name missing"); |
Line 1227 class Convert
|
Line 1257 class Convert
|
layout = ""; |
layout = ""; |
if (id == null) |
if (id == null) |
id = ""; |
id = ""; |
|
if(indexList==null) |
|
indexList=""; |
if (name.equals("")) |
if (name.equals("")) |
throw new Error("parse error table tag attribute must not be empty"); |
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); |
ids.add(id); |
|
indexListVec.add(indexList); |
String query = (node5 == null) ? "" : node5.getCharacters(); |
String query = (node5 == null) ? "" : node5.getCharacters(); |
if (query.equals("")) |
if (query.equals("")) |
System.err.println("Warning empty select tag or select tag missing !!"); |
System.err.println("Warning empty select tag or select tag missing !!"); |
Line 1245 class Convert
|
Line 1279 class Convert
|
} |
} |
DataBase dataBase = new DataBase(database, tables, layouts, selects, creates, ids, mode); |
DataBase dataBase = new DataBase(database, tables, layouts, selects, creates, ids, mode); |
dataBase.delimiter = delimiter; |
dataBase.delimiter = delimiter; |
|
dataBase.buildIndexTable(indexListVec); |
databases.add(dataBase); |
databases.add(dataBase); |
} |
} |
DBBean database = new DBBean(); |
DBBean database = new DBBean(); |
Line 1575 class Convert
|
Line 1610 class Convert
|
Vector tables; |
Vector tables; |
Vector ids; |
Vector ids; |
String delimiter = "//"; |
String delimiter = "//"; |
|
/** |
|
* maps table name to index fields |
|
*/ |
|
Hashtable htIndex = new Hashtable(); |
boolean useNormanToUnicodeMapper = false; |
boolean useNormanToUnicodeMapper = false; |
|
|
final static int CONVERT_MODE = 1; |
final static int CONVERT_MODE = 1; |
Line 1597 class Convert
|
Line 1636 class Convert
|
this.bean.setIDVector(ids); |
this.bean.setIDVector(ids); |
} |
} |
/** |
/** |
|
* @param indexListVec |
|
*/ |
|
public void buildIndexTable(Vector indexListVec) |
|
{ |
|
for (int i = 0; i < tables.size(); i++) |
|
{ |
|
fillIndexList((String)tables.get(i),(String)indexListVec.get(i)); |
|
} |
|
} |
|
/** |
* writes the data contained in this object to the buffered writer |
* writes the data contained in this object to the buffered writer |
* * @param buffr |
* * @param buffr |
* @throws Exception |
* @throws Exception |
Line 1630 class Convert
|
Line 1679 class Convert
|
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); |
String id = (String) ids.get(index); |
|
IndexList indexList = (IndexList) htIndex.get(table); |
buffr.write(" <table name = \"" + table + "\" layout = \"" + layout + "\" id = \"" + id + "\" >\n"); |
if (indexList == null) |
|
indexList = new IndexList(); |
|
buffr.write(" <table name = \"" + table + "\" layout = \"" + layout + "\" id = \"" + id + "\" indexList =\"" + indexList + "\">\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"); |
Line 1640 class Convert
|
Line 1691 class Convert
|
} |
} |
buffr.write(" </database>\n"); |
buffr.write(" </database>\n"); |
} |
} |
|
|
|
public void fillIndexList(String table, String list) |
|
{ |
|
IndexList indexList = new IndexList(); |
|
StringTokenizer tokenizer = new StringTokenizer(list, ","); |
|
while (tokenizer.hasMoreTokens()) |
|
{ |
|
indexList.add(tokenizer.nextToken()); |
|
} |
|
System.out.println(indexList); |
|
|
|
htIndex.put(table, indexList); |
|
} |
public String toString() |
public String toString() |
{ |
{ |
return bean.url + " " + tables; |
return bean.url + " " + tables; |