use of ch.ehi.ili2db.gui.Config in project ili2db by claeis.
the class PreAndPostScriptTest method updateTest.
// tests if preValue is executed before postValue in a update-test.
// options:
// [config.BASKET_HANDLING_READWRITE]
// [config.TID_HANDLING_PROPERTY]
// [config.CREATE_DATASET_COL]
// [config.CREATE_FK_YES]
// [setDbschema(DBSCHEMA)]
// [setDatasetName(DATASETA)]
// [setFunction(Config.FC_UPDATE)]
@Test
public void updateTest() throws Exception {
Connection jdbcConnection = null;
try {
Class driverClass = Class.forName("org.postgresql.Driver");
jdbcConnection = DriverManager.getConnection(dburl, dbuser, dbpwd);
stmt = jdbcConnection.createStatement();
stmt.execute("DROP SCHEMA IF EXISTS " + DBSCHEMA + " CASCADE");
DbUtility.executeSqlScript(jdbcConnection, new java.io.FileReader("test/data/PreAndPostScript/CreateTableUpdate.sql"));
DbUtility.executeSqlScript(jdbcConnection, new java.io.FileReader("test/data/PreAndPostScript/InsertIntoTableUpdate.sql"));
{
// prescript
File preData = new File("test/data/PreAndPostScript/PreScriptUpdate.sql");
// data to update
File data = new File("test/data/PreAndPostScript/MainUpdate.xtf");
// afterScript
File postData = new File("test/data/PreAndPostScript/PostScriptUpdate.sql");
Config config = initConfig(data.getPath(), DBSCHEMA, data.getPath() + ".log");
config.setBasketHandling(config.BASKET_HANDLING_READWRITE);
config.setTidHandling(config.TID_HANDLING_PROPERTY);
config.setCreateDatasetCols(config.CREATE_DATASET_COL);
config.setCreateFk(config.CREATE_FK_YES);
config.setDbschema(DBSCHEMA);
config.setDatasetName(DATASETA);
config.setPreScript(preData.toString());
config.setFunction(Config.FC_UPDATE);
config.setPostScript(postData.toString());
Ili2db.readSettingsFromDb(config);
Ili2db.run(config, null);
}
{
Long tid = null;
String scriptName = null;
ResultSet rs = stmt.executeQuery("SELECT helperclass.t_id, helperclass.attr1 FROM " + DBSCHEMA + ".helperclass");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
Map<String, Long> rows = new HashMap<String, Long>();
while (rs.next()) {
String[] row = new String[columnCount];
for (int i = 1; i <= columnCount; i++) {
tid = Long.parseLong(rs.getString(1));
scriptName = rs.getString(2);
}
rows.put(scriptName, tid);
}
Assert.assertTrue(rows.get("preValue") < rows.get("postValue"));
}
} finally {
if (jdbcConnection != null) {
jdbcConnection.close();
}
}
}
use of ch.ehi.ili2db.gui.Config in project ili2db by claeis.
the class PreAndPostScriptTest method schemaImportTest.
// tests if preValue is executed before postValue in a schemaImport-test.
// options:
// [Config.FC_SCHEMAIMPORT]
// [setDbschema(DBSCHEMA)]
@Test
public void schemaImportTest() throws Exception {
Connection jdbcConnection = null;
try {
Class driverClass = Class.forName("org.postgresql.Driver");
jdbcConnection = DriverManager.getConnection(dburl, dbuser, dbpwd);
stmt = jdbcConnection.createStatement();
stmt.execute("DROP SCHEMA IF EXISTS " + DBSCHEMA + " CASCADE");
{
// preScript
File preData = new File("test/data/PreAndPostScript/PreScriptSchemaImport.sql");
// ili
File data = new File("test/data/PreAndPostScript/ModelA.ili");
// postScript
File postData = new File("test/data/PreAndPostScript/PostScriptSchemaImport.sql");
Config config = initConfig(data.getPath(), DBSCHEMA, data.getPath() + ".log");
config.setPreScript(preData.toString());
config.setFunction(Config.FC_SCHEMAIMPORT);
config.setDbschema(DBSCHEMA);
config.setPostScript(postData.toString());
Ili2db.readSettingsFromDb(config);
Ili2db.run(config, null);
}
{
Long tid = null;
String scriptName = null;
ResultSet rs = stmt.executeQuery("SELECT helperclass.t_id, helperclass.attr1 FROM " + DBSCHEMA + ".helperclass");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
Map<String, Long> rows = new HashMap<String, Long>();
while (rs.next()) {
String[] row = new String[columnCount];
for (int i = 1; i <= columnCount; i++) {
tid = Long.parseLong(rs.getString(1));
scriptName = rs.getString(2);
}
rows.put(scriptName, tid);
}
Assert.assertTrue(rows.get("preValue") < rows.get("postValue"));
}
} finally {
if (jdbcConnection != null) {
jdbcConnection.close();
}
}
}
use of ch.ehi.ili2db.gui.Config in project ili2db by claeis.
the class PreAndPostScriptTest method replaceTest.
// tests if preValue is executed before postValue in a replace-test.
// options:
// [Config.FC_REPLACE]
// [setDatasetName(DATASETA)]
@Test
public void replaceTest() throws Exception {
Connection jdbcConnection = null;
try {
Class driverClass = Class.forName("org.postgresql.Driver");
jdbcConnection = DriverManager.getConnection(dburl, dbuser, dbpwd);
Statement stmt = jdbcConnection.createStatement();
stmt.execute("DROP SCHEMA IF EXISTS " + DBSCHEMA + " CASCADE");
DbUtility.executeSqlScript(jdbcConnection, new java.io.FileReader("test/data/PreAndPostScript/CreateTableReplace.sql"));
DbUtility.executeSqlScript(jdbcConnection, new java.io.FileReader("test/data/PreAndPostScript/InsertIntoTableReplace.sql"));
{
// prescript
File preData = new File("test/data/PreAndPostScript/PreScriptReplace.sql");
// new data
File data = new File("test/data/PreAndPostScript/MainReplace.xtf");
// afterScript
File postData = new File("test/data/PreAndPostScript/PostScriptReplace.sql");
Config config = initConfig(data.getPath(), DBSCHEMA, data.getPath() + ".log");
config.setDbschema(DBSCHEMA);
config.setDatasetName(DATASETA);
config.setPreScript(preData.toString());
config.setFunction(Config.FC_REPLACE);
config.setPostScript(postData.toString());
Ili2db.readSettingsFromDb(config);
Ili2db.run(config, null);
}
{
Long tid = null;
String scriptName = null;
ResultSet rs = stmt.executeQuery("SELECT helperclass.t_id, helperclass.attr1 FROM " + DBSCHEMA + ".helperclass");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
Map<String, Long> rows = new HashMap<String, Long>();
while (rs.next()) {
String[] row = new String[columnCount];
for (int i = 1; i <= columnCount; i++) {
tid = Long.parseLong(rs.getString(1));
scriptName = rs.getString(2);
}
rows.put(scriptName, tid);
}
Assert.assertTrue(rows.get("preValue") < rows.get("postValue"));
}
} finally {
if (jdbcConnection != null) {
jdbcConnection.close();
}
}
}
use of ch.ehi.ili2db.gui.Config in project ili2db by claeis.
the class SRSVerificationTest method verifySRS_True.
@Test
public void verifySRS_True() throws Exception {
Connection jdbcConnection = null;
try {
Class driverClass = Class.forName("org.postgresql.Driver");
jdbcConnection = DriverManager.getConnection(dburl, dbuser, dbpwd);
Statement stmt = jdbcConnection.createStatement();
stmt.execute("DROP SCHEMA IF EXISTS " + DBSCHEMA + " CASCADE");
{
File data = new File("test/data/SRSVerification/ModelA.ili");
Config config = initConfig(data.getPath(), DBSCHEMA, data.getPath() + ".log");
config.setFunction(Config.FC_SCHEMAIMPORT);
config.setDbschema(DBSCHEMA);
config.setCreateFk(config.CREATE_FK_YES);
config.setDefaultSrsAuthority("EPSG");
config.setDefaultSrsCode("2000");
Ili2db.readSettingsFromDb(config);
try {
Ili2db.run(config, null);
} catch (Ili2dbException e) {
Assert.assertEquals("TPSG/2000 does not exist", e.getMessage());
}
}
} finally {
if (jdbcConnection != null) {
jdbcConnection.close();
}
}
}
use of ch.ehi.ili2db.gui.Config in project ili2db by claeis.
the class SRSVerificationTest method initConfig.
public Config initConfig(String xtfFilename, String dbschema, String logfile) {
Config config = new Config();
new ch.ehi.ili2pg.PgMain().initConfig(config);
config.setDburl(dburl);
config.setDbusr(dbuser);
config.setDbpwd(dbpwd);
if (dbschema != null) {
config.setDbschema(dbschema);
}
if (logfile != null) {
config.setLogfile(logfile);
}
config.setXtffile(xtfFilename);
if (xtfFilename != null && Ili2db.isItfFilename(xtfFilename)) {
config.setItfTransferfile(true);
}
return config;
}
Aggregations