You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2013/05/31 01:16:45 UTC
svn commit: r1488047 - in /jena/Experimental/jena-jdbc/jena-jdbc-core/src:
main/java/org/apache/jena/jdbc/statements/JenaPreparedStatement.java
test/java/org/apache/jena/jdbc/connections/AbstractJenaConnectionTests.java
Author: rvesse
Date: Thu May 30 23:16:45 2013
New Revision: 1488047
URL: http://svn.apache.org/r1488047
Log:
Further expand tests for setObject()
Modified:
jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaPreparedStatement.java
jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/connections/AbstractJenaConnectionTests.java
Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaPreparedStatement.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaPreparedStatement.java?rev=1488047&r1=1488046&r2=1488047&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaPreparedStatement.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jdbc/statements/JenaPreparedStatement.java Thu May 30 23:16:45 2013
@@ -50,6 +50,8 @@ import com.hp.hpl.jena.datatypes.xsd.XSD
import com.hp.hpl.jena.graph.Node;
import com.hp.hpl.jena.graph.NodeFactory;
import com.hp.hpl.jena.query.ParameterizedSparqlString;
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.sparql.util.NodeFactoryExtra;
/**
@@ -310,6 +312,8 @@ public abstract class JenaPreparedStatem
public void setObject(int parameterIndex, Object value) throws SQLException {
if (value instanceof Node) {
this.setParameter(parameterIndex, (Node) value);
+ } else if (value instanceof RDFNode) {
+ this.setParameter(parameterIndex, ((RDFNode)value).asNode());
} else if (value instanceof String) {
this.setParameter(parameterIndex, NodeFactory.createLiteral((String)value));
} else if (value instanceof Boolean) {
@@ -324,10 +328,10 @@ public abstract class JenaPreparedStatem
this.setParameter(parameterIndex, NodeFactory.createLiteral(Byte.toString((Byte)value), XSDDatatype.XSDbyte));
} else if (value instanceof BigDecimal) {
this.setParameter(parameterIndex, NodeFactory.createLiteral(((BigDecimal)value).toPlainString(), XSDDatatype.XSDdecimal));
- } else if (value instanceof Double) {
- this.setParameter(parameterIndex, NodeFactoryExtra.doubleToNode((Double)value));
} else if (value instanceof Float) {
this.setParameter(parameterIndex, NodeFactoryExtra.floatToNode((Float)value));
+ } else if (value instanceof Double) {
+ this.setParameter(parameterIndex, NodeFactoryExtra.doubleToNode((Double)value));
} else if (value instanceof Date) {
Calendar c = Calendar.getInstance();
c.setTimeInMillis(((Date)value).getTime());
Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/connections/AbstractJenaConnectionTests.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/connections/AbstractJenaConnectionTests.java?rev=1488047&r1=1488046&r2=1488047&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/connections/AbstractJenaConnectionTests.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/connections/AbstractJenaConnectionTests.java Thu May 30 23:16:45 2013
@@ -20,16 +20,22 @@ package org.apache.jena.jdbc.connections
import java.math.BigDecimal;
import java.math.MathContext;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.sql.Connection;
+import java.sql.Date;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
+import java.sql.Time;
import java.sql.Types;
+import org.apache.jena.iri.IRI;
+import org.apache.jena.iri.IRIFactory;
import org.apache.jena.jdbc.JdbcCompatibility;
import org.apache.jena.jdbc.connections.JenaConnection;
import org.apache.jena.jdbc.results.metadata.AskResultsMetadata;
@@ -597,10 +603,113 @@ public abstract class AbstractJenaConnec
JenaConnection conn = this.getConnection();
JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+ stmt.setObject(1, 12.3f);
+ ParameterizedSparqlString pss = stmt.getParameterizedString();
+ Assert.assertTrue(pss.toString().contains("12.3"));
+ Assert.assertTrue(pss.toString().contains(XSDDatatype.XSDfloat.getURI()));
+ }
+
+ /**
+ * Tests that the various set methods of {@link JenaPreparedStatement} function correctly
+ * @throws SQLException
+ */
+ @Test
+ public void connection_prepared_statement_setters_08() throws SQLException {
+ JenaConnection conn = this.getConnection();
+ JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+
+ stmt.setObject(1, 12.3d);
+ ParameterizedSparqlString pss = stmt.getParameterizedString();
+ Assert.assertTrue(pss.toString().contains("12.3"));
+ }
+
+ /**
+ * Tests that the various set methods of {@link JenaPreparedStatement} function correctly
+ * @throws SQLException
+ */
+ @Test
+ public void connection_prepared_statement_setters_09() throws SQLException {
+ JenaConnection conn = this.getConnection();
+ JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+
stmt.setObject(1, true);
ParameterizedSparqlString pss = stmt.getParameterizedString();
Assert.assertTrue(pss.toString().contains("true"));
}
+
+ /**
+ * Tests that the various set methods of {@link JenaPreparedStatement} function correctly
+ * @throws SQLException
+ */
+ @Test
+ public void connection_prepared_statement_setters_10() throws SQLException {
+ JenaConnection conn = this.getConnection();
+ JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+
+ stmt.setObject(1, new Date(0));
+ ParameterizedSparqlString pss = stmt.getParameterizedString();
+ Assert.assertTrue(pss.toString().contains(XSDDatatype.XSDdate.getURI()));
+ }
+
+ /**
+ * Tests that the various set methods of {@link JenaPreparedStatement} function correctly
+ * @throws SQLException
+ */
+ @Test
+ public void connection_prepared_statement_setters_11() throws SQLException {
+ JenaConnection conn = this.getConnection();
+ JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+
+ stmt.setObject(1, new Time(0));
+ ParameterizedSparqlString pss = stmt.getParameterizedString();
+ Assert.assertTrue(pss.toString().contains(XSDDatatype.XSDtime.getURI()));
+ }
+
+ /**
+ * Tests that the various set methods of {@link JenaPreparedStatement} function correctly
+ * @throws SQLException
+ * @throws MalformedURLException
+ */
+ @Test
+ public void connection_prepared_statement_setters_12() throws SQLException, MalformedURLException {
+ JenaConnection conn = this.getConnection();
+ JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+
+ stmt.setObject(1, new URL("http://example.org"));
+ ParameterizedSparqlString pss = stmt.getParameterizedString();
+ Assert.assertTrue(pss.toString().contains("<http://example.org>"));
+ }
+
+ /**
+ * Tests that the various set methods of {@link JenaPreparedStatement} function correctly
+ * @throws SQLException
+ * @throws MalformedURLException
+ * @throws URISyntaxException
+ */
+ @Test
+ public void connection_prepared_statement_setters_13() throws SQLException, MalformedURLException, URISyntaxException {
+ JenaConnection conn = this.getConnection();
+ JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+
+ stmt.setObject(1, new URI("http://example.org"));
+ ParameterizedSparqlString pss = stmt.getParameterizedString();
+ Assert.assertTrue(pss.toString().contains("<http://example.org>"));
+ }
+
+ /**
+ * Tests that the various set methods of {@link JenaPreparedStatement} function correctly
+ * @throws SQLException
+ * @throws MalformedURLException
+ */
+ @Test
+ public void connection_prepared_statement_setters_14() throws SQLException {
+ JenaConnection conn = this.getConnection();
+ JenaPreparedStatement stmt = (JenaPreparedStatement) conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+
+ stmt.setObject(1, IRIFactory.iriImplementation().create("http://example.org"));
+ ParameterizedSparqlString pss = stmt.getParameterizedString();
+ Assert.assertTrue(pss.toString().contains("<http://example.org>"));
+ }
/**
* Runs a SELECT query on a non-empty database with max rows set and checks