Upgraded backend api with generics.
This commit is contained in:
parent
9a6227be5b
commit
1b3e65fa83
53 changed files with 282 additions and 256 deletions
|
|
@ -24,20 +24,19 @@ package net.forwardfire.vasc.backend.jdbc;
|
|||
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.forwardfire.vasc.backend.AbstractVascBackend;
|
||||
import net.forwardfire.vasc.backend.VascBackendException;
|
||||
import net.forwardfire.vasc.backend.VascBackendState;
|
||||
import net.forwardfire.vasc.backend.VascEntryFieldValue;
|
||||
import net.forwardfire.vasc.backend.VascEntryRecordCreator;
|
||||
import net.forwardfire.vasc.backend.data.MapVascEntryFieldValue;
|
||||
import net.forwardfire.vasc.backend.data.MapVascEntryRecordCreator;
|
||||
|
||||
import net.forwardfire.vasc.backend.data.HashMapVascEntryFieldValue;
|
||||
import net.forwardfire.vasc.backend.data.HashMapVascEntryRecordCreator;
|
||||
|
||||
/**
|
||||
* JdbcVascBackend Simple jdbc vasc backend.
|
||||
|
|
@ -45,7 +44,7 @@ import net.forwardfire.vasc.backend.data.MapVascEntryRecordCreator;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Sep 5, 2008
|
||||
*/
|
||||
public class JdbcVascBackend extends AbstractVascBackend {
|
||||
public class JdbcVascBackend extends AbstractVascBackend<HashMap<String,Object>> {
|
||||
|
||||
private JdbcConnectionProvider jdbcConnectionProvider = null;
|
||||
private String sqlList = null;
|
||||
|
|
@ -80,9 +79,9 @@ public class JdbcVascBackend extends AbstractVascBackend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#execute(VascBackendState state)
|
||||
*/
|
||||
public List<Object> execute(VascBackendState state) throws VascBackendException {
|
||||
public List<HashMap<String,Object>> execute(VascBackendState state) throws VascBackendException {
|
||||
JdbcConnectionProvider prov = getJdbcConnectionProvider();
|
||||
List<Object> result = new ArrayList<Object>(50);
|
||||
List<HashMap<String,Object>> result = new ArrayList<HashMap<String,Object>>(50);
|
||||
Connection connection = null;
|
||||
try {
|
||||
connection = prov.getJdbcConnection();
|
||||
|
|
@ -91,7 +90,7 @@ public class JdbcVascBackend extends AbstractVascBackend {
|
|||
ResultSet rs = s.getResultSet();
|
||||
int cols = rs.getMetaData().getColumnCount();
|
||||
while (rs.next()) {
|
||||
Map<String,Object> map = new HashMap<String,Object>(cols);
|
||||
HashMap<String,Object> map = new HashMap<String,Object>(cols);
|
||||
for (int i=1;i<=cols;i++) {
|
||||
String columnName = rs.getMetaData().getColumnName(i);
|
||||
Object columnObject = rs.getObject(i);
|
||||
|
|
@ -99,7 +98,7 @@ public class JdbcVascBackend extends AbstractVascBackend {
|
|||
}
|
||||
result.add(map);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (SQLException e) {
|
||||
throw new VascBackendException(e);
|
||||
} finally {
|
||||
if (connection!=null) {
|
||||
|
|
@ -115,34 +114,34 @@ public class JdbcVascBackend extends AbstractVascBackend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#merge(java.lang.Object)
|
||||
*/
|
||||
public Object merge(Object object) throws VascBackendException {
|
||||
public HashMap<String,Object> merge(HashMap<String,Object> object) throws VascBackendException {
|
||||
return object;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#persist(java.lang.Object)
|
||||
*/
|
||||
public void persist(Object object) throws VascBackendException {
|
||||
public void persist(HashMap<String,Object> object) throws VascBackendException {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#delete(java.lang.Object)
|
||||
*/
|
||||
public void delete(Object object) throws VascBackendException {
|
||||
public void delete(HashMap<String,Object> object) throws VascBackendException {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#provideVascEntryFieldValue(net.forwardfire.vasc.core.VascEntryField)
|
||||
*/
|
||||
public VascEntryFieldValue provideVascEntryFieldValue() {
|
||||
return new MapVascEntryFieldValue();
|
||||
return new HashMapVascEntryFieldValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#provideVascEntryRecordCreator(net.forwardfire.vasc.core.VascEntry)
|
||||
*/
|
||||
public VascEntryRecordCreator provideVascEntryRecordCreator() {
|
||||
return new MapVascEntryRecordCreator();
|
||||
return new HashMapVascEntryRecordCreator();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -25,29 +25,27 @@ package net.forwardfire.vasc.backend.jdbc;
|
|||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.forwardfire.vasc.backend.AbstractVascBackend;
|
||||
import net.forwardfire.vasc.backend.VascBackendException;
|
||||
import net.forwardfire.vasc.backend.VascBackendState;
|
||||
import net.forwardfire.vasc.backend.VascEntryFieldValue;
|
||||
import net.forwardfire.vasc.backend.VascEntryRecordCreator;
|
||||
import net.forwardfire.vasc.backend.data.MapVascEntryFieldValue;
|
||||
import net.forwardfire.vasc.backend.data.MapVascEntryRecordCreator;
|
||||
import net.forwardfire.vasc.backend.data.HashMapVascEntryFieldValue;
|
||||
import net.forwardfire.vasc.backend.data.HashMapVascEntryRecordCreator;
|
||||
import net.forwardfire.vasc.xpql.query.QueryParameterValue;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* JdbcVascBackendXpql jdbc vasc backend with xpql query support.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Sep 5, 2008
|
||||
*/
|
||||
public class JdbcVascBackendXpql extends AbstractVascBackend {
|
||||
public class JdbcVascBackendXpql extends AbstractVascBackend<HashMap<String,Object>> {
|
||||
|
||||
private JdbcConnectionProvider jdbcConnectionProvider = null;
|
||||
|
||||
|
|
@ -92,7 +90,7 @@ public class JdbcVascBackendXpql extends AbstractVascBackend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#execute(VascBackendState state)
|
||||
*/
|
||||
public List<Object> execute(VascBackendState state) throws VascBackendException {
|
||||
public List<HashMap<String,Object>> execute(VascBackendState state) throws VascBackendException {
|
||||
// Copy parameters
|
||||
for (String key:state.getDataParameterKeys()) {
|
||||
Object value = state.getDataParameter(key);
|
||||
|
|
@ -112,9 +110,9 @@ public class JdbcVascBackendXpql extends AbstractVascBackend {
|
|||
q.execute();
|
||||
ResultSet rs = q.getResultSet();
|
||||
int cols = rs.getMetaData().getColumnCount();
|
||||
List<Object> result = new ArrayList<Object>(50);
|
||||
List<HashMap<String,Object>> result = new ArrayList<HashMap<String,Object>>(50);
|
||||
while (rs.next()) {
|
||||
Map<String,Object> map = new HashMap<String,Object>(cols);
|
||||
HashMap<String,Object> map = new HashMap<String,Object>(cols);
|
||||
for (int i=1;i<=cols;i++) {
|
||||
String columnName = rs.getMetaData().getColumnName(i);
|
||||
Object columnObject = rs.getObject(i);
|
||||
|
|
@ -123,7 +121,7 @@ public class JdbcVascBackendXpql extends AbstractVascBackend {
|
|||
result.add(map);
|
||||
}
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
} catch (SQLException e) {
|
||||
throw new VascBackendException(e);
|
||||
} finally {
|
||||
if (c!=null) {
|
||||
|
|
@ -138,33 +136,33 @@ public class JdbcVascBackendXpql extends AbstractVascBackend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#merge(java.lang.Object)
|
||||
*/
|
||||
public Object merge(Object object) throws VascBackendException {
|
||||
public HashMap<String,Object> merge(HashMap<String,Object> object) throws VascBackendException {
|
||||
return object;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#persist(java.lang.Object)
|
||||
*/
|
||||
public void persist(Object object) throws VascBackendException {
|
||||
public void persist(HashMap<String,Object> object) throws VascBackendException {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#delete(java.lang.Object)
|
||||
*/
|
||||
public void delete(Object object) throws VascBackendException {
|
||||
public void delete(HashMap<String,Object> object) throws VascBackendException {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#provideVascEntryFieldValue()
|
||||
*/
|
||||
public VascEntryFieldValue provideVascEntryFieldValue() {
|
||||
return new MapVascEntryFieldValue();
|
||||
return new HashMapVascEntryFieldValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascBackend#provideVascEntryRecordCreator()
|
||||
*/
|
||||
public VascEntryRecordCreator provideVascEntryRecordCreator() {
|
||||
return new MapVascEntryRecordCreator();
|
||||
return new HashMapVascEntryRecordCreator();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue