--- FM2SQL/Attic/Convert.java 2004/01/08 10:31:18 1.3
+++ FM2SQL/Attic/Convert.java 2004/01/13 12:30:28 1.7
@@ -307,7 +307,7 @@ 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);
dialog.setTitle("Conversion running ...");
@@ -377,7 +377,7 @@ class Convert
// System.out.println(beanDest.getTableNames(beanDest.getCatalogs().get(2).toString()));
stm = beanDest.getConnection().createStatement();
// System.exit(0);
- if(true)
+ if(mode==Convert.DataBase.CONVERT_MODE)
{
if(tables.indexOf(names.get(tbIndex))>=0)
{
@@ -622,12 +622,10 @@ class Convert
}
else if (alterMe.charAt(j) == '.')
{
- System.out.println("dube "+alterMe);
if(j==length-1)
{
alterMe.delete(j, j);
length--;
- continue;
}
}
@@ -635,6 +633,36 @@ class Convert
}
return alterMe.toString();
}
+ public static String convertToEntities(String newName)
+ {
+ StringBuffer alterMe = new StringBuffer(newName.trim());
+ int length = alterMe.length();
+ int j = 0;
+
+ while (j < length)
+ {
+
+ if (alterMe.charAt(j) == '>')
+ {
+ alterMe.setCharAt(j, '&');
+ alterMe.insert(j + 1, "gt;");
+ length = length + 2;
+ if (j < length - 1)
+ j = j + 1;
+
+ } else if (alterMe.charAt(j) == '<')
+ {
+ alterMe.setCharAt(j, '&');
+ alterMe.insert(j + 1, "lt;");
+ length = length + 2;
+ if (j < length - 1)
+ j = j + 1;
+
+ }
+ ++j;
+ }
+ return alterMe.toString();
+ }
public static String convertUml(String newName)
{
StringBuffer alterMe = new StringBuffer(newName.trim());
@@ -749,14 +777,17 @@ class Convert
{
boolean finished = false;
// parse string and build document tree
- Node root = new Xparse().parse(sb.toString());
+ Xparse parser =new Xparse();
+ parser.changeEntities = true;
+ Node root = parser.parse(sb.toString());
// printContents(root);
Vector databases= new Vector();
Vector tables = new Vector();
Vector layouts = new Vector();
Vector selects = new Vector();
Vector creates = new Vector();
-
+ int mode = -1;
+
try
{
Node tempNode = root.find("convert/source", new int[] { 1, 1 });
@@ -777,6 +808,8 @@ class Convert
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 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(node==null) throw new Error("parse error url tag missing");
if(node1==null) throw new Error("parse error user tag missing");
@@ -789,7 +822,19 @@ class Convert
System.out.println(node.name + " " + node.getCharacters());
System.out.println(node1.name + " " + node1.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)
// System.out.println(node3.name);
@@ -827,7 +872,7 @@ class Convert
creates.add("");
}
- databases.add(new DataBase(database, tables, layouts, selects,creates));
+ databases.add(new DataBase(database, tables, layouts, selects,creates,mode));
}
DBBean database = new DBBean();
// parse dataBase
@@ -964,14 +1009,16 @@ class Convert
boolean finished = false;
// parse string and build document tree
- Node root = new Xparse().parse(sb.toString());
- // printContents(root);
+ Xparse parser =new Xparse();
+ parser.changeEntities = true;
+ Node root = parser.parse(sb.toString());
+ // printContents(root);
Vector databases= new Vector();
Vector tables = new Vector();
Vector layouts = new Vector();
Vector selects = new Vector();
Vector creates = new Vector();
-
+ int mode = -1;
try
{
Node tempNode = root.find("convert/source", new int[] { 1, 1 });
@@ -992,6 +1039,8 @@ class Convert
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 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(node==null) throw new Error("parse error url tag missing");
if(node1==null) throw new Error("parse error user tag missing");
@@ -1004,7 +1053,21 @@ class Convert
System.out.println(node.name + " " + node.getCharacters());
System.out.println(node1.name + " " + node1.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)
// System.out.println(node3.name);
@@ -1042,7 +1105,7 @@ class Convert
creates.add("");
}
- databases.add(new DataBase(database, tables, layouts, selects,creates));
+ databases.add(new DataBase(database, tables, layouts, selects,creates,mode));
}
DBBean database = new DBBean();
// parse dataBase
@@ -1055,7 +1118,7 @@ class Convert
System.out.println(url);
database.setURL(url.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,0));
//databases.add(database);
/* for (Iterator iter = databases.iterator(); iter.hasNext();)
{
@@ -1135,13 +1198,19 @@ public static class DataBase
Vector selects;
Vector layouts;
Vector tables;
- public DataBase(DBBean bean,Vector tables,Vector layouts,Vector selects,Vector creates)
+ 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,int mode)
{
this.bean = bean;
this.tables = tables;
this.layouts = layouts;
this.selects = selects;
this.creates = creates;
+ this.mode = mode;
}
public void exportToXML(BufferedWriter buffr) throws Exception
{
@@ -1149,7 +1218,17 @@ public static class DataBase
buffr.write(" "+bean.url+"\n");
buffr.write(" "+bean.user+"\n");
buffr.write(" "+bean.passwd+"\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(" "+ modeString+"\n");
int index = 0;
while(index\n");
- buffr.write(" \n");
+ buffr.write(" \n");
if(!create.equals(""))
buffr.write(" "+create+" \n");
buffr.write(" \n");