[simal] r2234 committed - Expose database path and type for sparql query engine (Issue 303).

0 views
Skip to first unread message

si...@googlecode.com

unread,
Apr 13, 2011, 1:38:09 PM4/13/11
to simal-...@googlegroups.com
Revision: 2234
Author: sander.v...@oucs.ox.ac.uk
Date: Wed Apr 13 10:35:10 2011
Log: Expose database path and type for sparql query engine (Issue 303).
http://code.google.com/p/simal/source/detail?r=2234

Modified:

/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/jena/simal/JenaDatabaseSupport.java

/trunk/uk.ac.osswatch.simal.core/src/test/java/uk/ac/osswatch/simal/model/jena/simal/TestJenaDatabaseSupport.java

=======================================
---
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/jena/simal/JenaDatabaseSupport.java
Mon Feb 1 01:07:02 2010
+++
/trunk/uk.ac.osswatch.simal.core/src/main/java/uk/ac/osswatch/simal/model/jena/simal/JenaDatabaseSupport.java
Wed Apr 13 10:35:10 2011
@@ -47,6 +47,8 @@
public static final Logger LOGGER = LoggerFactory
.getLogger(JenaSimalRepository.class);

+ private static String databasePath = null;
+
/**
* Token for the type of database; determined at
* runtime. These are all the database types that
@@ -56,7 +58,7 @@
RDB, SDB, TDB;
};

- private JenaDatabaseType type = null;
+ private static JenaDatabaseType type = null;

private StoreDesc cachedStoreDesc = null;

@@ -200,6 +202,8 @@
databasePath.append('_');
databasePath.append(dbType);

+ JenaDatabaseSupport.databasePath = databasePath.toString();
+
return databasePath.toString();
}

@@ -241,4 +245,20 @@
return newModel;
}

-}
+ /**
+ * Get the path to the database to allow tools such as Joseki
+ * to access it.
+ * @return path to the database, may be null if not initialised.
+ */
+ public static String getDatabasePath() {
+ return databasePath;
+ }
+
+ /**
+ * Get the type of the Jena database.
+ * @return type if initialised, otherwise null.
+ */
+ public static JenaDatabaseType getType() {
+ return type;
+ }
+}
=======================================
---
/trunk/uk.ac.osswatch.simal.core/src/test/java/uk/ac/osswatch/simal/model/jena/simal/TestJenaDatabaseSupport.java
Sun Jan 31 14:02:00 2010
+++
/trunk/uk.ac.osswatch.simal.core/src/test/java/uk/ac/osswatch/simal/model/jena/simal/TestJenaDatabaseSupport.java
Wed Apr 13 10:35:10 2011
@@ -30,6 +30,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

+import uk.ac.osswatch.simal.SimalProperties;
+import
uk.ac.osswatch.simal.model.jena.simal.JenaDatabaseSupport.JenaDatabaseType;
import uk.ac.osswatch.simal.rdf.SimalRepositoryException;

import com.hp.hpl.jena.db.ModelRDB;
@@ -43,11 +45,13 @@
public static final Logger LOGGER = LoggerFactory
.getLogger(JenaSimalRepository.class);

+ private static final String TEST_DIR =
System.getProperty("java.io.tmpdir");
+
@AfterClass
public static void removeTestDatabases() {
- deleteTestDatabase("SDB", "");
- deleteTestDatabase("TDB", "");
- deleteTestDatabase("RDB", "");
+ deleteTestDatabase("SDB", TEST_DIR);
+ deleteTestDatabase("TDB", TEST_DIR);
+ deleteTestDatabase("RDB", TEST_DIR);
}

/**
@@ -71,15 +75,20 @@
fail("Could not contruct database path from directory " + directory);
}
}
-
+
@Test
public void testDatabaseInitialisationSDB() {
+ assertEquals(null, JenaDatabaseSupport.getDatabasePath());
performDatabaseInitialisationTest("SDB", ModelCom.class);
}

@Test
- public void testDatabaseInitialisationTDB() {
+ public void testDatabaseInitialisationTDB() throws
SimalRepositoryException {
performDatabaseInitialisationTest("TDB", ModelCom.class);
+ assertEquals(TEST_DIR
+ + System.getProperty("file.separator")
+ +
SimalProperties.getProperty(SimalProperties.PROPERTY_RDF_DATA_FILENAME)
+ + "_TDB", JenaDatabaseSupport.getDatabasePath());
}

@Test
@@ -87,15 +96,14 @@
performDatabaseInitialisationTest("RDB", ModelRDB.class);
}

- @SuppressWarnings("unchecked")
private void performDatabaseInitialisationTest(String dbType,
- Class expectedClass) {
- String directory = "";
- deleteTestDatabase(dbType, directory);
+ Class<? extends Model> expectedClass) {
+ deleteTestDatabase(dbType, TEST_DIR);
JenaDatabaseSupport jenaDatabaseSupport = new JenaDatabaseSupport();
try {
- Model model = jenaDatabaseSupport.initialiseDatabase(dbType,
directory);
+ Model model = jenaDatabaseSupport.initialiseDatabase(dbType,
TEST_DIR);
assertEquals(expectedClass, model.getClass());
+ assertEquals(JenaDatabaseType.valueOf(dbType),
JenaDatabaseSupport.getType());
jenaDatabaseSupport.removeAllData(model);
model.close();
model = null;

Reply all
Reply to author
Forward
0 new messages