Export scanning results in SQL format

This commit is contained in:
Francesco Ambrosini 2022-02-25 07:43:10 +01:00
parent ed8b5c37e8
commit e88caa5b81

View File

@ -8,14 +8,14 @@ import java.io.OutputStream;
* <p/>
* Exports results as an SQL inserts, suitable for sqlite, mysql, etc,
* optionally preceding by a 'create table'.
* TODO: implement SQLExporter
*
* @author Anton Keks
* @author Francesco Ambrosini
*/
public class SQLExporter extends AbstractExporter {
static final char DELIMETER = ':';
static final String TABLE_NAME = "scan";
static final char COMMA = ',';
public String getId() {
@ -30,24 +30,24 @@ public class SQLExporter extends AbstractExporter {
super.start(outputStream, feederInfo);
if (!append) {
output.println("DROP TABLE IF EXISTS scan;");
output.println("DROP TABLE IF EXISTS" + TABLE_NAME + ";");
}
}
public void setFetchers(String[] fetcherNames) throws IOException {
if (!append) {
output.write("CREATE TABLE " + TABLE_NAME + " (`" + fetcherNames[0] + "` varchar(20)");
output.print("CREATE TABLE " + TABLE_NAME + " (`" + fetcherNames[0] + "` varchar(20)");
for (int i = 1; i < fetcherNames.length; i++) {
output.write(COMMA);
output.print(COMMA);
output.print(" `" + fetcherNames[i] + "` ");
output.write("varchar(20)"); //Default type
output.print("varchar(20)"); //Default type
}
output.println(");");
}
}
public void nextAddressResults(Object[] results) throws IOException {
output.print("INSERT INTO " + TABLE_NAME + " VALUES ('" + results[0]+"'");
output.print("INSERT INTO " + TABLE_NAME + " VALUES ('" + results[0] + "'");
for (int i = 1; i < results.length; i++) {
Object result = results[i];
output.print(COMMA);
@ -57,5 +57,4 @@ public class SQLExporter extends AbstractExporter {
output.println(");");
}
}