# HG changeset patch # User Liza Sakellari # Date 1422024411 -7200 # Node ID 8d66204196ba127a482815ebdef173db605bdbb8 # Parent 194886c8647e27021506bdacce9ff33ff2a1feb3 sqlite changes. Replaced jdbc sqlite driver. diff -r 194886c8647e -r 8d66204196ba runtime/pom.xml --- a/runtime/pom.xml Thu Jan 15 18:54:03 2015 +0200 +++ b/runtime/pom.xml Fri Jan 23 16:46:51 2015 +0200 @@ -318,7 +318,7 @@ org.xerial sqlite-jdbc - 3.7.2 + 3.8.7 diff -r 194886c8647e -r 8d66204196ba runtime/src/main/java/eu/earthobservatory/runtime/generaldb/Strabon.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/generaldb/Strabon.java Thu Jan 15 18:54:03 2015 +0200 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/generaldb/Strabon.java Fri Jan 23 16:46:51 2015 +0200 @@ -229,9 +229,7 @@ public Object query(String queryString, Format resultsFormat, SailRepositoryConnection con, OutputStream out) throws MalformedQueryException, QueryEvaluationException, IOException, TupleQueryResultHandlerException { boolean status = true; - - System.out.println(queryString); - + logger.info("[Strabon.query] Executing query: {}", queryString); // check for null stream @@ -271,7 +269,7 @@ long t3 = System.nanoTime(); return new long[]{t2-t1, t3-t2, t3-t1, results}; -// break; + //break; default: // get the writer for the specified format @@ -362,9 +360,7 @@ } else { - File file = new File(src); - System.out.println(file.getAbsolutePath()); - System.out.println(src); + File file = new File(src); if (file.exists()) { storeURL(new URL("file://" + src), baseURI, uriContext, realFormat); diff -r 194886c8647e -r 8d66204196ba runtime/src/main/java/eu/earthobservatory/runtime/postgis/QueryOp.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/postgis/QueryOp.java Thu Jan 15 18:54:03 2015 +0200 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/postgis/QueryOp.java Fri Jan 23 16:46:51 2015 +0200 @@ -54,7 +54,7 @@ Strabon strabon = null; try { strabon = new Strabon(db, user, passwd, port, host, forceDelete); - System.out.println(queryString); + strabon.query(queryString, Format.fromString(resultsFormat), strabon.getSailRepoConnection(), System.out); } catch (UnsupportedExtensionFunctionException e) { diff -r 194886c8647e -r 8d66204196ba runtime/src/main/java/eu/earthobservatory/runtime/postgis/StoreOp.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/postgis/StoreOp.java Thu Jan 15 18:54:03 2015 +0200 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/postgis/StoreOp.java Fri Jan 23 16:46:51 2015 +0200 @@ -37,6 +37,7 @@ String graph = null; Boolean inference = false; + for (int i = 6; i < args.length; i += 2) { if (args[i].equals("-f")) { if (i + 1 >= args.length) { @@ -76,10 +77,10 @@ Strabon strabon = null; try { strabon = new Strabon(db, user, passwd, port, host, false); - if (graph == null) {//System.out.println("graph = null");System.out.println(src); + if (graph == null) { strabon.storeInRepo(src, format, inference); - } else {System.out.println("graph!=null"); + } else { strabon.storeInRepo(src, null, graph, format, inference); } diff -r 194886c8647e -r 8d66204196ba runtime/src/main/java/eu/earthobservatory/runtime/sqlite/SpatialiteSample.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/sqlite/SpatialiteSample.java Thu Jan 15 18:54:03 2015 +0200 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/sqlite/SpatialiteSample.java Fri Jan 23 16:46:51 2015 +0200 @@ -30,8 +30,8 @@ stmt.setQueryTimeout(30); // set timeout to 30 sec. // loading SpatiaLite - stmt.execute("SELECT load_extension('/usr/local/lib/libspatialite.so')"); - stmt.execute("SELECT load_extension('/usr/lib/sqlite3/pcre.so')"); + stmt.execute("SELECT load_extension('/usr/lib/x86_64-linux-gnu/libspatialite.so')"); + stmt.execute("SELECT load_extension(' /usr/lib/x86_64-linux-gnu/libpcre.so')"); // enabling Spatial Metadata // using v.2.4.0 this automatically initializes SPATIAL_REF_SYS and GEOMETRY_COLUMNS String sql = "SELECT InitSpatialMetadata()"; diff -r 194886c8647e -r 8d66204196ba runtime/src/main/java/eu/earthobservatory/runtime/sqlite/StoreOp.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/sqlite/StoreOp.java Thu Jan 15 18:54:03 2015 +0200 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/sqlite/StoreOp.java Fri Jan 23 16:46:51 2015 +0200 @@ -73,7 +73,12 @@ } private static void help() { - System.err.println("Usage: eu.earthobservatory.runtime.postgis.StoreOp [-f ] [-g ]"); + System.err.println("Usage: eu.earthobservatory.runtime.sqlite.StoreOp " + + " " + + " " + + " " + + " " + + " [-f ]"); System.err.println(" is the spatially enabled postgis database that Strabon will use as a backend, "); System.err.println(" [-f ] is the format of the file (default: NTRIPLES)"); System.err.println(" [-g ] is the URI of the named graph to store the input file (default: default graph)"); diff -r 194886c8647e -r 8d66204196ba runtime/src/main/java/eu/earthobservatory/runtime/sqlite/Strabon.java --- a/runtime/src/main/java/eu/earthobservatory/runtime/sqlite/Strabon.java Thu Jan 15 18:54:03 2015 +0200 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/sqlite/Strabon.java Fri Jan 23 16:46:51 2015 +0200 @@ -36,7 +36,8 @@ public class Strabon extends eu.earthobservatory.runtime.generaldb.Strabon { private static Logger logger = LoggerFactory.getLogger(eu.earthobservatory.runtime.postgis.Strabon.class); - + private String spatiaLiteLib; + private String pcreLib; public Strabon(String databaseName, String spatialite, String regex, boolean checkForLockTable) throws Exception { super(databaseName, spatialite, regex, 0, "", checkForLockTable); @@ -50,6 +51,8 @@ private void createSpatialAndDeleteTemp(String databaseName, String libspatial, String regex) throws SQLException, ClassNotFoundException { String url = ""; + this.spatiaLiteLib=libspatial; + this.pcreLib=regex; try { logger.info("[Strabon] Cleaning..."); Class.forName("org.sqlite.JDBC"); @@ -61,6 +64,7 @@ Statement st=c.createStatement(); //st.execute("SELECT load_extension('/usr/local/lib/libspatialite.so')"); //st.execute("SELECT load_extension('/usr/lib/sqlite3/pcre.so')"); + System.out.println(libspatial); st.execute("SELECT load_extension('"+libspatial+"')"); try{ st.execute("SELECT load_extension('"+regex+"')"); @@ -210,6 +214,8 @@ SpatiaLiteSqlStore spatialLite_store = (SpatiaLiteSqlStore) db_store; spatialLite_store.setDatabaseName(databaseName); + spatialLite_store.setSpatiaLiteLib(spatiaLiteLib); + spatialLite_store.setPcreLib(pcreLib); spatialLite_store.setMaxNumberOfTripleTables(2048); init(); logger.info("[Strabon] Initialization completed."); diff -r 194886c8647e -r 8d66204196ba sqlite/pom.xml --- a/sqlite/pom.xml Thu Jan 15 18:54:03 2015 +0200 +++ b/sqlite/pom.xml Fri Jan 23 16:46:51 2015 +0200 @@ -74,7 +74,7 @@ org.xerial sqlite-jdbc - 3.7.2 + 3.8.7 diff -r 194886c8647e -r 8d66204196ba sqlite/src/main/java/org/openrdf/sail/sqlite/SpatiaLiteSqlStore.java --- a/sqlite/src/main/java/org/openrdf/sail/sqlite/SpatiaLiteSqlStore.java Thu Jan 15 18:54:03 2015 +0200 +++ b/sqlite/src/main/java/org/openrdf/sail/sqlite/SpatiaLiteSqlStore.java Fri Jan 23 16:46:51 2015 +0200 @@ -16,6 +16,8 @@ public class SpatiaLiteSqlStore extends org.openrdf.sail.generaldb.GeneralDBStore{ protected String databaseName; + protected String spatiaLiteLib; + protected String pcreLib; @Override protected GeneralDBConnectionFactory newFactory(DatabaseMetaData metaData) @@ -47,6 +49,8 @@ } SqliteConnectionFactory factory = new SqliteConnectionFactory(); + factory.setPcre(pcreLib); + factory.setSpatiaLite(spatiaLiteLib); factory.setSail(this); factory.setDataSource(ds); setBasicDataSource(ds); @@ -60,5 +64,12 @@ public void setDatabaseName(String databaseName2) { this.databaseName = databaseName2; } + public void setSpatiaLiteLib(String spatiaLiteLib) { + this.spatiaLiteLib = spatiaLiteLib; + } + + public void setPcreLib(String pcreLib) { + this.pcreLib = pcreLib; + } } diff -r 194886c8647e -r 8d66204196ba sqlite/src/main/java/org/openrdf/sail/sqlite/SqliteConnectionFactory.java --- a/sqlite/src/main/java/org/openrdf/sail/sqlite/SqliteConnectionFactory.java Thu Jan 15 18:54:03 2015 +0200 +++ b/sqlite/src/main/java/org/openrdf/sail/sqlite/SqliteConnectionFactory.java Fri Jan 23 16:46:51 2015 +0200 @@ -45,6 +45,8 @@ import org.openrdf.sail.generaldb.schema.IntegerIdSequence; import org.openrdf.sail.generaldb.schema.LongIdSequence; import org.openrdf.sail.generaldb.schema.ValueTableFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Responsible to initialise and wire all components together that will be @@ -53,7 +55,9 @@ * @author James Leigh */ public class SqliteConnectionFactory extends GeneralDBConnectionFactory { - + private String spatiaLite; + private String pcre; + private static Logger logger = LoggerFactory.getLogger(org.openrdf.sail.sqlite.SqliteConnectionFactory.class); protected Connection singleSQLiteCon; // protected SqliteTripleTableManager sqliteTripleTableManager; @@ -163,9 +167,12 @@ stmt.setQueryTimeout(30); // set timeout to 30 sec. // loading SpatiaLite - stmt.execute("SELECT load_extension('/usr/local/lib/libspatialite.so')"); - stmt.execute("SELECT load_extension('/usr/lib/sqlite3/pcre.so')"); - + stmt.execute("SELECT load_extension('" +this.spatiaLite+"')"); + try{ + stmt.execute("SELECT load_extension('" +this.pcre+"')"); + }catch(Exception e){ + logger.warn("Error loading regex library. Regular expressions will not be supported."); + } return conn; // return new net.sf.log4jdbc.ConnectionSpy(conn); @@ -313,4 +320,11 @@ } } } + public void setSpatiaLite(String spatiaLite) { + this.spatiaLite = spatiaLite; + } + + public void setPcre(String pcre) { + this.pcre = pcre; + } }