Skip to content

Commit

Permalink
Merge pull request #70 from aaberg/converters_v2
Browse files Browse the repository at this point in the history
Bidirectional Converters and Quirks
  • Loading branch information
aaberg committed Apr 7, 2014
2 parents e3d3d93 + 35d24ce commit c17de2e
Show file tree
Hide file tree
Showing 35 changed files with 554 additions and 233 deletions.
2 changes: 0 additions & 2 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,6 @@
<artifactId>spring-jdbc</artifactId>
<version>4.0.2.RELEASE</version>
</dependency>


</dependencies>

<build>
Expand Down
4 changes: 1 addition & 3 deletions core/src/main/java/org/sql2o/Connection.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,7 @@ public Sql2o getSql2o() {
}

public Query createQuery(String queryText, String name){
// If postgresql, the default behaviour should be not to retur generated keys, as this will throw an exception on
// every query that does not create any new keys.
boolean returnGeneratedKeys = !(this.sql2o.quirksMode == QuirksMode.PostgreSQL);
boolean returnGeneratedKeys = this.sql2o.getQuirks().returnGeneratedKeysByDefault();
return createQuery(queryText, name, returnGeneratedKeys);
}

Expand Down
11 changes: 3 additions & 8 deletions core/src/main/java/org/sql2o/GenericDatasource.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package org.sql2o;

import org.sql2o.logging.LocalLoggerFactory;
import org.sql2o.logging.Logger;

import javax.sql.DataSource;
import java.io.PrintWriter;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;

/**
* Used internally by sql2o, if the {@link Sql2o#Sql2o(String, String, String)} constructor overload.
Expand All @@ -17,8 +16,6 @@ public class GenericDatasource implements DataSource {
private final String user;
private final String password;

private final Logger logger;

public GenericDatasource(String url, String user, String password) {

if (!url.startsWith("jdbc")){
Expand All @@ -28,8 +25,6 @@ public GenericDatasource(String url, String user, String password) {
this.url = url;
this.user = user;
this.password = password;

this.logger = LocalLoggerFactory.getLogger(GenericDatasource.class);
}

public String getUrl() {
Expand Down
17 changes: 10 additions & 7 deletions core/src/main/java/org/sql2o/PojoResultSetIterator.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import org.sql2o.converters.Convert;
import org.sql2o.converters.Converter;
import org.sql2o.converters.ConverterException;
import org.sql2o.quirks.Quirks;
import org.sql2o.reflection.Pojo;
import org.sql2o.reflection.PojoMetadata;
import org.sql2o.reflection.Setter;
Expand All @@ -21,7 +22,14 @@
public class PojoResultSetIterator<T> extends ResultSetIteratorBase<T> {
private ResultSetHandler<T> handler;


public PojoResultSetIterator(ResultSet rs, boolean isCaseSensitive, Quirks quirks, PojoMetadata metadata) {
super(rs, isCaseSensitive, quirks);
try {
this.handler = newResultSetHandler(rs.getMetaData(), isCaseSensitive, metadata);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}

private static Setter getSetter(
final String propertyPath,
Expand Down Expand Up @@ -65,7 +73,7 @@ public Class getType() {
};
}

private <T> ResultSetHandler<T> newResultSetHandler(final ResultSetMetaData meta, boolean isCaseSensitive, QuirksMode quirksMode, final PojoMetadata metadata){
private <T> ResultSetHandler<T> newResultSetHandler(final ResultSetMetaData meta, boolean isCaseSensitive, final PojoMetadata metadata){
final Setter[] setters;
final Converter converter;
final boolean useExecuteScalar;
Expand Down Expand Up @@ -115,11 +123,6 @@ public T handle(ResultSet resultSet) throws SQLException {

}

public PojoResultSetIterator(ResultSet rs, boolean isCaseSensitive, QuirksMode quirksMode, PojoMetadata metadata) {
super(rs, isCaseSensitive, quirksMode);
this.handler = newResultSetHandler(meta,isCaseSensitive, quirksMode, metadata);
}

@Override
protected T readNext() throws SQLException {
return handler.handle(rs);
Expand Down
Loading

0 comments on commit c17de2e

Please sign in to comment.