Search in sources :

Example 1 with Config

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();
        }
    }
}
Also used : ResultSetMetaData(java.sql.ResultSetMetaData) Config(ch.ehi.ili2db.gui.Config) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) File(java.io.File) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 2 with Config

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();
        }
    }
}
Also used : ResultSetMetaData(java.sql.ResultSetMetaData) Config(ch.ehi.ili2db.gui.Config) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) File(java.io.File) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 3 with Config

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();
        }
    }
}
Also used : Statement(java.sql.Statement) Config(ch.ehi.ili2db.gui.Config) Connection(java.sql.Connection) ResultSetMetaData(java.sql.ResultSetMetaData) ResultSet(java.sql.ResultSet) File(java.io.File) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 4 with Config

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();
        }
    }
}
Also used : Statement(java.sql.Statement) Config(ch.ehi.ili2db.gui.Config) Connection(java.sql.Connection) File(java.io.File) Test(org.junit.Test)

Example 5 with Config

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;
}
Also used : Config(ch.ehi.ili2db.gui.Config)

Aggregations

Config (ch.ehi.ili2db.gui.Config)207 File (java.io.File)162 Test (org.junit.Test)154 Connection (java.sql.Connection)118 ResultSet (java.sql.ResultSet)72 Statement (java.sql.Statement)44 HashMap (java.util.HashMap)40 IomObject (ch.interlis.iom.IomObject)34 EndBasketEvent (ch.interlis.iox.EndBasketEvent)34 EndTransferEvent (ch.interlis.iox.EndTransferEvent)34 IoxEvent (ch.interlis.iox.IoxEvent)34 ObjectEvent (ch.interlis.iox.ObjectEvent)34 StartBasketEvent (ch.interlis.iox.StartBasketEvent)34 StartTransferEvent (ch.interlis.iox.StartTransferEvent)34 FgdbDriver (ch.ehi.ili2fgdb.jdbc.FgdbDriver)33 Ili2dbException (ch.ehi.ili2db.base.Ili2dbException)32 XtfReader (ch.interlis.iom_j.xtf.XtfReader)30 IoxException (ch.interlis.iox.IoxException)15 SQLException (java.sql.SQLException)12 ResultSetMetaData (java.sql.ResultSetMetaData)10