public class JDBCHelper extends AbstractDisposable implements ResourceConsumer
| Modifier and Type | Class and Description |
|---|---|
class |
JDBCHelper.DalValueToJDBCException |
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
defaultSchema |
protected GeometryManager |
geomManager |
protected boolean |
isOpen |
protected java.lang.String |
name |
protected JDBCConnectionParameters |
params |
protected JDBCHelperUser |
user |
| Modifier | Constructor and Description |
|---|---|
protected |
JDBCHelper(JDBCHelperUser consumer,
JDBCConnectionParameters params) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
allowAutomaticValues() |
void |
close() |
void |
closeConnection(java.sql.Connection connection) |
boolean |
closeResourceRequested(ResourceProvider resource) |
protected Geometry |
coerce(GeometryType type,
Geometry geometry) |
java.lang.String |
compoundLimitAndOffset(long limit,
long offset) |
protected EditableFeatureAttributeDescriptor |
createAttributeFromJDBC(EditableFeatureType fType,
java.sql.Connection conn,
java.sql.ResultSetMetaData rsMetadata,
int colIndex) |
protected EditableFeatureAttributeDescriptor |
createAttributeFromJDBCNativeType(EditableFeatureType fType,
java.sql.ResultSetMetaData rsMetadata,
int colIndex) |
protected java.util.List |
createGrantStatements(JDBCNewStoreParameters ndsp) |
protected java.util.List |
createGrantStatements(JDBCNewStoreParameters ndsp,
java.lang.String table) |
protected java.util.List |
createGrantStatements(java.lang.String tableName,
java.lang.String privilege,
java.lang.String theRoles) |
java.lang.Object |
dalValueToJDBC(FeatureAttributeDescriptor attributeDescriptor,
java.lang.Object value) |
java.lang.Object |
doConnectionAction(ConnectionAction action)
Executes an atomic action that uses an DB Connection.
|
protected void |
doDispose()
Internal implementation for the
AbstractDisposable.dispose() method, to be
implemented by child classes. |
java.lang.String |
escapeFieldName(java.lang.String field) |
static void |
execute(java.sql.PreparedStatement st,
java.lang.String sql) |
static void |
execute(java.sql.Statement st,
java.lang.String sql) |
void |
execute(java.lang.String sql) |
static java.sql.ResultSet |
executeQuery(java.sql.PreparedStatement st,
java.lang.String sql) |
static java.sql.ResultSet |
executeQuery(java.sql.Statement st,
java.lang.String sql) |
static int |
executeUpdate(java.sql.PreparedStatement st) |
java.util.List |
getAdditionalSqlToCreate(NewDataStoreParameters ndsp,
FeatureType fType) |
protected EditableFeatureAttributeDescriptor |
getAttributeFromJDBC(EditableFeatureType fType,
java.sql.Connection conn,
java.sql.ResultSetMetaData rsMetadata,
int colIndex) |
java.sql.Connection |
getConnection() |
protected java.lang.String |
getDefaltFieldValueString(FeatureAttributeDescriptor attr)
Deprecated.
use getDefaultFieldValueString this has a type writer error.
|
protected java.lang.String |
getDefaultFieldValueString(FeatureAttributeDescriptor attr) |
protected java.lang.String |
getDefaultSchema(java.sql.Connection conn) |
Envelope |
getFullEnvelopeOfField(JDBCStoreParameters storeParams,
java.lang.String geometryAttrName,
Envelope limit)
Override if provider has geometry support
|
Geometry |
getGeometry(byte[] buffer) |
protected java.lang.String |
getIdentifierQuoteString() |
protected java.lang.String[] |
getPksFrom(java.sql.Connection conn,
JDBCStoreParameters params) |
protected java.lang.String[] |
getPksFromInformationSchema(java.sql.Connection conn,
JDBCStoreParameters params) |
int |
getProviderSRID(IProjection srs) |
int |
getProviderSRID(java.lang.String srs) |
JDBCResource |
getResource() |
java.lang.String |
getSqlColumnTypeDescription(FeatureAttributeDescriptor attr) |
java.lang.String |
getSqlFieldDescription(FeatureAttributeDescriptor attr) |
java.lang.String |
getSqlFieldName(FeatureAttributeDescriptor attribute) |
protected void |
initializeResource() |
boolean |
isOpen() |
protected boolean |
isReservedWord(java.lang.String field) |
protected void |
loadFeatureType(java.sql.Connection conn,
EditableFeatureType featureType,
java.lang.String sql,
java.lang.String[] pks,
java.lang.String defGeomName,
java.lang.String schema,
java.lang.String table) |
void |
loadFeatureType(EditableFeatureType featureType,
JDBCStoreParameters storeParams) |
void |
loadFeatureType(EditableFeatureType featureType,
JDBCStoreParameters storeParams,
java.lang.String sql,
java.lang.String schema,
java.lang.String table) |
protected void |
loadSRS_and_shapeType(java.sql.Connection conn,
java.sql.ResultSetMetaData rsMetadata,
EditableFeatureType featureType,
java.lang.String baseSchema,
java.lang.String baseTable)
Fill
featureType geometry attributes with SRS and ShapeType
information
Override this if provider has native eometry support |
boolean |
open()
open the resource
|
void |
resourceChanged(ResourceProvider resource) |
protected void |
setResource(JDBCResource resource) |
java.lang.String |
stringJoin(java.util.List listToJoin,
java.lang.String sep) |
void |
stringJoin(java.util.List listToJoin,
java.lang.String sep,
java.lang.StringBuilder strb) |
boolean |
supportOffset() |
protected boolean |
supportsGeometry()
Inform that provider has supports for geometry store and operations
natively
|
boolean |
supportsUnion() |
dispose, disposeprotected JDBCHelperUser user
protected boolean isOpen
protected java.lang.String name
protected java.lang.String defaultSchema
protected JDBCConnectionParameters params
protected GeometryManager geomManager
protected JDBCHelper(JDBCHelperUser consumer, JDBCConnectionParameters params) throws InitializeException
InitializeExceptionpublic static java.sql.ResultSet executeQuery(java.sql.Statement st,
java.lang.String sql)
throws java.sql.SQLException
java.sql.SQLExceptionpublic static void execute(java.sql.Statement st,
java.lang.String sql)
throws java.sql.SQLException
java.sql.SQLExceptionpublic static java.sql.ResultSet executeQuery(java.sql.PreparedStatement st,
java.lang.String sql)
throws java.sql.SQLException
java.sql.SQLExceptionpublic static void execute(java.sql.PreparedStatement st,
java.lang.String sql)
throws java.sql.SQLException
java.sql.SQLExceptionpublic static int executeUpdate(java.sql.PreparedStatement st)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void closeConnection(java.sql.Connection connection)
public void execute(java.lang.String sql)
throws JDBCExecuteSQLException
JDBCExecuteSQLExceptionprotected void initializeResource()
throws InitializeException
InitializeExceptionprotected final void setResource(JDBCResource resource)
public boolean closeResourceRequested(ResourceProvider resource)
closeResourceRequested in interface ResourceConsumerpublic void resourceChanged(ResourceProvider resource)
resourceChanged in interface ResourceConsumerpublic boolean open()
throws OpenException
OpenExceptionpublic JDBCResource getResource()
public void close()
throws CloseException
CloseExceptionpublic java.sql.Connection getConnection()
throws AccessResourceException
AccessResourceExceptionprotected void doDispose()
throws BaseException
AbstractDisposableAbstractDisposable.dispose() method, to be
implemented by child classes.doDispose in class AbstractDisposableBaseExceptionAbstractDisposable.dispose()public boolean isOpen()
public java.lang.Object doConnectionAction(ConnectionAction action) throws java.lang.Exception
action is an instance of TransactionalAction the
action will be execute inside of a DB transaction.action - java.lang.Exceptionprotected java.lang.String getDefaultSchema(java.sql.Connection conn)
throws JDBCException
JDBCExceptionprotected EditableFeatureAttributeDescriptor createAttributeFromJDBC(EditableFeatureType fType, java.sql.Connection conn, java.sql.ResultSetMetaData rsMetadata, int colIndex) throws java.sql.SQLException
java.sql.SQLExceptionprotected EditableFeatureAttributeDescriptor createAttributeFromJDBCNativeType(EditableFeatureType fType, java.sql.ResultSetMetaData rsMetadata, int colIndex) throws java.sql.SQLException
java.sql.SQLExceptionprotected EditableFeatureAttributeDescriptor getAttributeFromJDBC(EditableFeatureType fType, java.sql.Connection conn, java.sql.ResultSetMetaData rsMetadata, int colIndex) throws JDBCException
JDBCExceptionprotected void loadSRS_and_shapeType(java.sql.Connection conn,
java.sql.ResultSetMetaData rsMetadata,
EditableFeatureType featureType,
java.lang.String baseSchema,
java.lang.String baseTable)
throws JDBCException
featureType geometry attributes with SRS and ShapeType
information
Override this if provider has native eometry supportconn - rsMetadata - featureType - ReadExceptionJDBCExceptionpublic void loadFeatureType(EditableFeatureType featureType, JDBCStoreParameters storeParams) throws DataException
DataExceptionpublic void loadFeatureType(EditableFeatureType featureType, JDBCStoreParameters storeParams, java.lang.String sql, java.lang.String schema, java.lang.String table) throws DataException
DataExceptionprotected java.lang.String[] getPksFrom(java.sql.Connection conn,
JDBCStoreParameters params)
throws JDBCException
JDBCExceptionprotected java.lang.String[] getPksFromInformationSchema(java.sql.Connection conn,
JDBCStoreParameters params)
throws JDBCException
JDBCExceptionprotected void loadFeatureType(java.sql.Connection conn,
EditableFeatureType featureType,
java.lang.String sql,
java.lang.String[] pks,
java.lang.String defGeomName,
java.lang.String schema,
java.lang.String table)
throws DataException
DataExceptionpublic Envelope getFullEnvelopeOfField(JDBCStoreParameters storeParams, java.lang.String geometryAttrName, Envelope limit) throws DataException
storeParams - geometryAttrName - limit - DataExceptionpublic Geometry getGeometry(byte[] buffer) throws BaseException
BaseExceptionpublic java.lang.String escapeFieldName(java.lang.String field)
protected Geometry coerce(GeometryType type, Geometry geometry)
public java.lang.Object dalValueToJDBC(FeatureAttributeDescriptor attributeDescriptor, java.lang.Object value) throws WriteException
WriteExceptionpublic java.lang.String getSqlColumnTypeDescription(FeatureAttributeDescriptor attr)
public int getProviderSRID(java.lang.String srs)
public int getProviderSRID(IProjection srs)
public java.lang.String getSqlFieldName(FeatureAttributeDescriptor attribute)
public java.lang.String getSqlFieldDescription(FeatureAttributeDescriptor attr) throws DataException
DataExceptionprotected java.lang.String getDefaltFieldValueString(FeatureAttributeDescriptor attr) throws WriteException
WriteExceptionprotected java.lang.String getDefaultFieldValueString(FeatureAttributeDescriptor attr) throws WriteException
WriteExceptionpublic java.lang.String compoundLimitAndOffset(long limit,
long offset)
public boolean supportOffset()
public java.util.List getAdditionalSqlToCreate(NewDataStoreParameters ndsp, FeatureType fType)
public java.lang.String stringJoin(java.util.List listToJoin,
java.lang.String sep)
public void stringJoin(java.util.List listToJoin,
java.lang.String sep,
java.lang.StringBuilder strb)
protected boolean supportsGeometry()
public boolean allowAutomaticValues()
public boolean supportsUnion()
protected java.lang.String getIdentifierQuoteString()
protected boolean isReservedWord(java.lang.String field)
protected java.util.List createGrantStatements(JDBCNewStoreParameters ndsp)
protected java.util.List createGrantStatements(JDBCNewStoreParameters ndsp, java.lang.String table)
protected java.util.List createGrantStatements(java.lang.String tableName,
java.lang.String privilege,
java.lang.String theRoles)