Skip to content

Commit

Permalink
bugfixing issue 17, working test method (testSingle)
Browse files Browse the repository at this point in the history
  • Loading branch information
nkons committed Nov 21, 2015
1 parent 3c4cbf5 commit 1b2e822
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 26 deletions.
2 changes: 1 addition & 1 deletion dspace/epersons-mapping.rdf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .

map:groups
rr:logicalTable [ rr:tableName '"epersongroup"'; ];
rr:logicalTable [ rr:tableName "epersongroup"; ];
rr:subjectMap [
rr:template 'http://data.example.org/repository/group/{"eperson_group_id"}';
rr:class foaf:Group;
Expand Down
5 changes: 1 addition & 4 deletions src/main/java/gr/seab/r2rml/beans/Generator.java
Original file line number Diff line number Diff line change
Expand Up @@ -451,10 +451,7 @@ public void createTriples(MappingDocument mappingDocument) {
LogicalTableMapping l = mappingDocument.findLogicalTableMappingByUri(predicateObjectMap.getRefObjectMap().getParentTriplesMapUri());

String childValue = rs.getString(predicateObjectMap.getRefObjectMap().getChild().replaceAll("\"", "")); //table names need to be e.g. Sport instead of "Sport", and this is why we remove the quotes
try {
Double.parseDouble(childValue);
} catch (NumberFormatException e) {
if (verbose) log.info("child value is not a number");
if (!util.isNumber(childValue)) {
childValue = "'" + childValue + "'";
}
if (verbose) log.info("child value is " + childValue);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/gr/seab/r2rml/beans/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,7 @@ public interface Util {
String md5(String s);

String md5(LogicalTableMapping logicalTableMapping);

boolean isNumber(String s);

}
10 changes: 10 additions & 0 deletions src/main/java/gr/seab/r2rml/beans/UtilImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -454,4 +454,14 @@ public String md5(String s) {
}
return digest;
}

public boolean isNumber(String s) {
try {
Double.parseDouble(s);
return true;
} catch (NumberFormatException e) {
return false;
}
}

}
46 changes: 27 additions & 19 deletions src/test/java/gr/seab/r2rml/test/ComplianceTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@
*/
package gr.seab.r2rml.test;

import gr.seab.r2rml.beans.Generator;
import gr.seab.r2rml.beans.Parser;
import gr.seab.r2rml.beans.Util;
import gr.seab.r2rml.entities.MappingDocument;
import gr.seab.r2rml.entities.sparql.LocalResultSet;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
Expand Down Expand Up @@ -46,6 +40,13 @@
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.util.FileManager;

import gr.seab.r2rml.beans.Database;
import gr.seab.r2rml.beans.Generator;
import gr.seab.r2rml.beans.Parser;
import gr.seab.r2rml.beans.Util;
import gr.seab.r2rml.entities.MappingDocument;
import gr.seab.r2rml.entities.sparql.LocalResultSet;

@ContextConfiguration(locations = { "classpath:test-context.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
@TransactionConfiguration(defaultRollback = false)
Expand All @@ -54,6 +55,8 @@ public class ComplianceTests {
private static final Logger log = LoggerFactory.getLogger(ComplianceTests.class);

private Connection connection;

private static Properties properties = new Properties();

@Test
public void testAll() {
Expand Down Expand Up @@ -123,16 +126,25 @@ public void testAll() {
@Test
public void testSingle() {
log.info("test single. Careful, database 'test' will be erased and re-created!");
String folder = "src/test/resources/postgres/D011-M2MRelations/";
String folder = "src/test/resources/postgres/D014-3tables1primarykey1foreignkey/";
initialiseSourceDatabase(folder + "create.sql");

//Override property file
//Load property file
try {
properties.load(new FileInputStream("src/test/resources/test.properties"));
} catch (Exception e) {
e.printStackTrace();
}
//Override certain properties
properties.setProperty("mapping.file", folder + "r2rmla.ttl");
properties.setProperty("jena.destinationFileName", folder + "r2rmla.nq");

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("test-context.xml");
Database db = (Database) context.getBean("db");
db.setProperties(properties);

Parser parser = (Parser) context.getBean("parser");
Properties p = parser.getProperties();
p.setProperty("mapping.file", folder + "r2rmla.ttl");
p.setProperty("jena.destinationFileName", folder + "r2rmla.nq");
parser.setProperties(p);
parser.setProperties(properties);
MappingDocument mappingDocument = parser.parse();

Generator generator = (Generator) context.getBean("generator");
Expand Down Expand Up @@ -218,8 +230,6 @@ private void initialiseSourceDatabase(String createFile) {
} catch (Exception e) {
log.error("Error.");
}


}

//Workaround for Oracle
Expand Down Expand Up @@ -308,11 +318,9 @@ private void openConnection() {

try {
Class.forName("org.postgresql.Driver");
//connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/test", "postgres", "postgres");

connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521", "system", "dba");

//connection = DriverManager.getConnection("jdbc:postgresql://83.212.115.187:5432/ebooks-dspace6", "postgres", "postgres");
connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/test", "postgres", "postgres");
//connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521", "system", "dba");
//connection = DriverManager.getConnection("jdbc:postgresql://83.212.115.187:5432/ebooks-dspace6", "postgres", "postgres");
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
Expand Down
4 changes: 2 additions & 2 deletions src/test/resources/test-context.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
<bean id="util" class="gr.seab.r2rml.beans.UtilImpl" />

<bean id="db" class="gr.seab.r2rml.beans.DatabaseImpl">
<constructor-arg value="src/test/resources/test.properties" />
<!-- <constructor-arg value="src/test/resources/test.properties" /> -->
<property name="util" ref="util" />
</bean>

<bean id="parser" class="gr.seab.r2rml.beans.Parser">
<constructor-arg value="src/test/resources/test.properties" />
<!-- <constructor-arg value="src/test/resources/test.properties" /> -->
<property name="db" ref="db" />
<property name="util" ref="util" />
</bean>
Expand Down

0 comments on commit 1b2e822

Please sign in to comment.