Author: rvesse
Date: Fri May 31 19:45:33 2013
New Revision: 1488367

URL: http://svn.apache.org/r1488367
Log:
Some more setObject() tests and bug fixes to the implementation

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=1488367&r1=1488366&r2=1488367&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
 Fri May 31 19:45:33 2013
@@ -21,7 +21,6 @@ package org.apache.jena.jdbc.statements;
 import java.io.InputStream;
 import java.io.Reader;
 import java.math.BigDecimal;
-import java.math.BigInteger;
 import java.net.URI;
 import java.net.URL;
 import java.sql.Array;
@@ -41,7 +40,6 @@ import java.sql.SQLXML;
 import java.sql.Time;
 import java.sql.Timestamp;
 import java.sql.Types;
-import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.TimeZone;
 
@@ -55,7 +53,6 @@ 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;
 
 /**
@@ -393,8 +390,14 @@ public abstract class JenaPreparedStatem
             case Types.VARCHAR:
                 throw new SQLException("The provided SQL Target Type cannot be 
translated into an appropriate RDF term type");
             case Types.BIGINT:
-                if (value instanceof Long || value instanceof Integer || value 
instanceof Short || value instanceof Byte) {
+                if (value instanceof Long) {
                     this.setParameter(parameterIndex, 
NodeFactoryExtra.intToNode((Long) value));
+                } else if (value instanceof Integer) {
+                    this.setParameter(parameterIndex, 
NodeFactoryExtra.intToNode((long)(Integer)value));
+                } else if (value instanceof Short) {
+                    this.setParameter(parameterIndex, 
NodeFactoryExtra.intToNode((long)(Short)value));
+                } else if (value instanceof Byte) {
+                    this.setParameter(parameterIndex, 
NodeFactoryExtra.intToNode((long)(Byte)value));
                 } else if (value instanceof Node) {
                     long l = JenaJdbcNodeUtils.toLong((Node) value);
                     this.setParameter(parameterIndex, 
NodeFactoryExtra.intToNode(l));
@@ -448,8 +451,10 @@ public abstract class JenaPreparedStatem
                 }
                 break;
             case Types.DOUBLE:
-                if (value instanceof Double || value instanceof Float) {
+                if (value instanceof Double) {
                     this.setParameter(parameterIndex, 
NodeFactoryExtra.doubleToNode((Double)value));
+                } else if (value instanceof Float) {
+                    this.setParameter(parameterIndex, 
NodeFactoryExtra.doubleToNode((double)(Float)value));
                 } else if (value instanceof Node) {
                     Double d = JenaJdbcNodeUtils.toDouble((Node)value);
                     this.setParameter(parameterIndex, 
NodeFactoryExtra.doubleToNode(d));
@@ -522,9 +527,11 @@ public abstract class JenaPreparedStatem
                 this.setParameter(parameterIndex, 
NodeFactory.createLiteral(value.toString()));
                 break;
             case Types.SMALLINT:
-                if (value instanceof Short || value instanceof Byte) {
+                if (value instanceof Short) {
                     Short s = (Short)value;
                     this.setParameter(parameterIndex, 
NodeFactory.createLiteral(Short.toString(s), XSDDatatype.XSDshort));
+                } else if (value instanceof Byte) {
+                    this.setParameter(parameterIndex, 
NodeFactory.createLiteral(Short.toString((short)(Byte)value), 
XSDDatatype.XSDshort));
                 } else if (value instanceof Node) {
                     Short s = JenaJdbcNodeUtils.toShort((Node)value);
                     this.setParameter(parameterIndex, 
NodeFactory.createLiteral(Short.toString(s), XSDDatatype.XSDshort));

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=1488367&r1=1488366&r2=1488367&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
 Fri May 31 19:45:33 2013
@@ -18,7 +18,6 @@
 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;
@@ -34,7 +33,6 @@ 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;
@@ -699,7 +697,6 @@ public abstract class AbstractJenaConnec
     /**
      * 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 
{
@@ -710,6 +707,119 @@ public abstract class AbstractJenaConnec
         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
+     */
+    @Test
+    public void connection_prepared_statement_setters_15() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, 
IRIFactory.iriImplementation().create("http://example.org";), Types.NVARCHAR);
+        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
+     */
+    @Test
+    public void connection_prepared_statement_setters_16() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, 
IRIFactory.iriImplementation().create("http://example.org";), Types.JAVA_OBJECT);
+        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
+     */
+    @Test
+    public void connection_prepared_statement_setters_17() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, 12.3f, Types.DOUBLE);
+        ParameterizedSparqlString pss = stmt.getParameterizedString();
+        Assert.assertTrue(pss.toString().contains("12.3"));
+        
Assert.assertFalse(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_18() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, 12.3d, Types.DOUBLE);
+        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_19() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, 123l, Types.BIGINT);
+        ParameterizedSparqlString pss = stmt.getParameterizedString();
+        Assert.assertTrue(pss.toString().contains("123"));
+    }
+    
+    /**
+     * Tests that the various set methods of {@link JenaPreparedStatement} 
function correctly
+     * @throws SQLException
+     */
+    @Test
+    public void connection_prepared_statement_setters_20() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, 123, Types.BIGINT);
+        ParameterizedSparqlString pss = stmt.getParameterizedString();
+        Assert.assertTrue(pss.toString().contains("123"));
+    }
+    
+    /**
+     * Tests that the various set methods of {@link JenaPreparedStatement} 
function correctly
+     * @throws SQLException
+     */
+    @Test
+    public void connection_prepared_statement_setters_21() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, (short)123, Types.BIGINT);
+        ParameterizedSparqlString pss = stmt.getParameterizedString();
+        Assert.assertTrue(pss.toString().contains("123"));
+    }
+    
+    /**
+     * Tests that the various set methods of {@link JenaPreparedStatement} 
function correctly
+     * @throws SQLException
+     */
+    @Test
+    public void connection_prepared_statement_setters_22() throws SQLException 
{
+        JenaConnection conn = this.getConnection();
+        JenaPreparedStatement stmt = (JenaPreparedStatement) 
conn.prepareStatement("SELECT * WHERE { ?s ?p ? }");
+        
+        stmt.setObject(1, (byte)123, Types.BIGINT);
+        ParameterizedSparqlString pss = stmt.getParameterizedString();
+        Assert.assertTrue(pss.toString().contains("123"));
+    }
 
     /**
      * Runs a SELECT query on a non-empty database with max rows set and checks


Reply via email to