--- FM2SQL/Attic/Convert.java 2004/01/08 11:03:12 1.4
+++ FM2SQL/Attic/Convert.java 2004/01/12 13:22:36 1.5
@@ -786,7 +786,8 @@ class Convert
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 });
@@ -807,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");
@@ -819,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);
@@ -857,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
@@ -1003,7 +1018,7 @@ class Convert
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 });
@@ -1024,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");
@@ -1036,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);
@@ -1074,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
@@ -1087,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();)
{
@@ -1167,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
{
@@ -1181,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