
tools.xor.providers.jdbc.JDBCDataStore Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xor Show documentation
Show all versions of xor Show documentation
Empowering Model Driven Architecture in J2EE applications
package tools.xor.providers.jdbc;
import java.io.Serializable;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.sql.DataSource;
import org.springframework.jdbc.datasource.DataSourceUtils;
import tools.xor.AbstractTypeMapper;
import tools.xor.BusinessObject;
import tools.xor.CallInfo;
import tools.xor.EntityKey;
import tools.xor.EntityType;
import tools.xor.ExtendedProperty;
import tools.xor.NaturalEntityKey;
import tools.xor.Property;
import tools.xor.SurrogateEntityKey;
import tools.xor.Type;
import tools.xor.TypeMapper;
import tools.xor.service.AbstractDataStore;
import tools.xor.service.QueryCapability;
import tools.xor.util.ClassUtil;
import tools.xor.view.NativeQuery;
import tools.xor.view.Query;
import tools.xor.view.QueryJoinAction;
import tools.xor.view.QueryTreeInvocation;
import tools.xor.view.StoredProcedure;
import tools.xor.view.StoredProcedureQuery;
public class JDBCDataStore
extends AbstractDataStore
{
private DataSource dataSource;
private JDBCSessionContext context;
public DataSource getDataSource ()
{
return dataSource;
}
public JDBCSessionContext getSessionContext() {
return this.context;
}
public void setDataSource (DataSource dataSource)
{
this.dataSource = dataSource;
}
public JDBCDataStore() {
}
public JDBCDataStore(JDBCSessionContext context, Object data) {
this.context = new JDBCSessionContext(this, context);
}
public Connection getNewConnection () {
return DataSourceUtils.getConnection(dataSource);
}
/**
* No-op for JDBC.
* @see tools.xor.providers.jdbc.JDBCSessionContext#persistGraph(tools.xor.util.ObjectCreator, tools.xor.Settings)
* @param entity to save
*/
@Override
public void saveOrUpdate(Object entity) {
}
@Override protected void createStatement (StoredProcedure sp)
{
try {
Connection connection = context.getConnection();
if (sp.isImplicit()) {
sp.setStatement(connection.createStatement());
}
else {
sp.setStatement(connection.prepareCall(sp.jdbcCallString()));
}
}
catch (SQLException e) {
throw ClassUtil.wrapRun(e);
}
}
@Override
public void clear() {
context.clear();
}
@Override
public void clear(Set
© 2015 - 2025 Weber Informatics LLC | Privacy Policy