From c35690e5e3995c0178bc4aa976a97f0e073fc586 Mon Sep 17 00:00:00 2001 From: Graham Triggs Date: Sun, 18 Sep 2016 21:19:21 +0100 Subject: [PATCH] Split out selector implementation to address java compilation issue --- .travis.yml | 1 - .../impl/virtuoso/RDFServiceVirtuoso.java | 3 +- .../impl/virtuoso/VirtuosoDoubleSelector.java | 33 ------------------- 3 files changed, 2 insertions(+), 35 deletions(-) delete mode 100644 api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/VirtuosoDoubleSelector.java diff --git a/.travis.yml b/.travis.yml index 610b5a745..740b0f849 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ sudo: false jdk: - oraclejdk8 - oraclejdk7 - - openjdk8 - openjdk7 env: diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java index 248601fe5..876069d07 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java @@ -192,7 +192,8 @@ public class RDFServiceVirtuoso extends RDFServiceSparql { // If the object is a numeric literal if (object.isLiteral() && isNumeric(object.asLiteral().getDatatypeURI())) { // Find a matching statement in the triple store, based on normalized numeric values - StmtIterator matching = fromTripleStoreModel.listStatements(new VirtuosoDoubleSelector(subject.asResource(), predicate, object)); + double num = Double.parseDouble(object.asLiteral().getString()); + StmtIterator matching = fromTripleStoreModel.listStatements(subject.asResource(), predicate, fromTripleStoreModel.createTypedLiteral(num)); // For every matching statement // Rewrite the object as the one in the file model (they are the same, just differ in datatype) diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/VirtuosoDoubleSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/VirtuosoDoubleSelector.java deleted file mode 100644 index 3ad3d73d1..000000000 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/VirtuosoDoubleSelector.java +++ /dev/null @@ -1,33 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.virtuoso; - -import org.apache.jena.rdf.model.Property; -import org.apache.jena.rdf.model.RDFNode; -import org.apache.jena.rdf.model.Resource; -import org.apache.jena.rdf.model.SimpleSelector; -import org.apache.jena.rdf.model.Statement; - -public class VirtuosoDoubleSelector extends SimpleSelector { - public VirtuosoDoubleSelector() { - } - - public VirtuosoDoubleSelector(Resource subject, Property predicate, RDFNode object) { - super(subject, predicate, object); - } - - @Override - public boolean test(Statement statement) { - RDFNode objectToMatch = statement.getObject(); - - // Both values are numeric, so compare them as parsed doubles - if (objectToMatch.isLiteral()) { - String num1 = object.asLiteral().getString(); - String num2 = objectToMatch.asLiteral().getString(); - - return Double.parseDouble(num1) == Double.parseDouble(num2); - } - - return false; - } -}