2
0
Fork 0

Upgraded backend api with generics.

This commit is contained in:
Willem Cazander 2014-05-28 14:16:03 +02:00
parent 9a6227be5b
commit 1b3e65fa83
53 changed files with 282 additions and 256 deletions

View file

@ -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();
}
/**

View file

@ -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();
}
}