Class JDBCHelperBase
java.lang.Object
org.gvsig.tools.dispose.impl.AbstractDisposable
org.gvsig.fmap.dal.store.jdbc2.spi.JDBCHelperBase
- All Implemented Interfaces:
AutoCloseable,org.gvsig.fmap.dal.resource.spi.ResourceConsumer,JDBCHelper,org.gvsig.tools.dispose.Disposable
public class JDBCHelperBase
extends org.gvsig.tools.dispose.impl.AbstractDisposable
implements org.gvsig.fmap.dal.resource.spi.ResourceConsumer, JDBCHelper
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.slf4j.Loggerprotected OperationsFactoryprotected org.gvsig.fmap.dal.feature.FeatureTypeprotected SRSSolverprotected org.gvsig.fmap.dal.SupportTransactionsHelper -
Constructor Summary
ConstructorsConstructorDescriptionJDBCHelperBase(org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters connectionParameters) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddTableToColumnReferences(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.feature.FeatureType type, org.gvsig.fmap.dal.feature.FeatureQuery query) protected voidaddTableToColumnReferencesInSingleSelect(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.SQLBuilder.SelectBuilder select, List<org.apache.commons.lang3.tuple.Pair<org.gvsig.fmap.dal.SQLBuilder.TableNameBuilder, org.gvsig.fmap.dal.feature.FeatureType>> outerTables, org.gvsig.fmap.dal.feature.FeatureQuery query) booleanIndica si la BBDD soporta valores automaticos, tipo serial.booleanbooleancanWriteGeometry(int geometryType, int geometrySubtype) Indica si podemos escribir el tipo de geometria indicado.voidclose()booleancloseResourceRequested(org.gvsig.fmap.dal.resource.spi.ResourceProvider resource) org.gvsig.fmap.dal.feature.spi.FeatureProvidercreateFeature(org.gvsig.fmap.dal.feature.FeatureType featureType) org.gvsig.fmap.dal.store.jdbc.JDBCNewStoreParametersorg.gvsig.fmap.dal.store.jdbc.JDBCStoreParametersorg.gvsig.fmap.dal.store.jdbc.JDBCStoreParameterscreateOpenStoreParameters(org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters parameters) createProvider(org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters parameters, org.gvsig.fmap.dal.spi.DataStoreProviderServices providerServices) org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorercreateServerExplorer(org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters parameters, org.gvsig.fmap.dal.spi.DataServerExplorerProviderServices providerServices) org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParametersDevuelve un SQLBuilder adaptado al proveedor.protected voidvoidexpandCalculedColumns(JDBCSQLBuilderBase sqlbuilder) voidfetchFeature(org.gvsig.fmap.dal.feature.spi.FeatureProvider feature, ResultSet rs, org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor[] columns, String[] extraValueNames) voidfetchFeature(org.gvsig.fmap.dal.feature.spi.FeatureProvider feature, ResulSetControler.ResultSetEntry rs) org.gvsig.fmap.dal.store.jdbc2.JDBCConnectionorg.gvsig.fmap.dal.store.jdbc.JDBCConnectionParametersprotected StringgetConnectionProviderKey(org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters connectionParameters) org.gvsig.fmap.dal.store.jdbc2.JDBCConnectionorg.gvsig.fmap.geom.GeometrygetGeometryFromColumn(ResultSet rs, int index) org.gvsig.fmap.geom.GeometrygetGeometryFromColumn(ResulSetControler.ResultSetEntry rs, int index) org.gvsig.fmap.geom.GeometryManagerorg.gvsig.expressionevaluator.GeometryExpressionBuilderHelper.GeometrySupportTypeIndica como deben ser guardadas las geometrias en la BBDD.org.gvsig.fmap.dal.feature.FeatureTypeReturn the name of the driver.Devuelve las comillas que han de usaese para los identificadores.Devuelve las comillas que han de usaese en las constantes de cadena.protected StringgetSourceId(org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters params) protected org.apache.commons.lang3.tuple.Pair<org.gvsig.fmap.dal.SQLBuilder.TableNameBuilder, org.gvsig.fmap.dal.feature.FeatureType> getTableAndFeatureType(List<org.apache.commons.lang3.tuple.Pair<org.gvsig.fmap.dal.SQLBuilder.TableNameBuilder, org.gvsig.fmap.dal.feature.FeatureType>> outerTables, String columnName) org.gvsig.fmap.dal.spi.DataTransactionServicesbooleanIndica si la BBDD tiene soporte espacial.protected voidinitialize(org.gvsig.fmap.dal.resource.spi.ResourceConsumer helperClient, org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters connectionParameters, JDBCStoreProvider store) protected voidinitializeResource(org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters params) booleanisClosed()booleanvoidprocessSpecialFunctions(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.feature.FeatureType type, List<String> extra_column_names, org.gvsig.fmap.dal.feature.FeatureQuery query) This method has been overriden in Oracle providerprotected voidreplaceExistsFunction(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.feature.FeatureType type, List<String> extra_column_names) protected voidreplaceForeingValueFunction(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.feature.FeatureType type, List<String> extra_column_names) voidresourceChanged(org.gvsig.fmap.dal.resource.spi.ResourceProvider resource) voidsetProviderFeatureType(org.gvsig.fmap.dal.feature.FeatureType providerFeatureType) voidsetTransaction(org.gvsig.fmap.dal.spi.DataTransactionServices transaction) protected booleansupportCaller(org.gvsig.expressionevaluator.Code.Callable caller, org.gvsig.fmap.dal.feature.FeatureType type) booleansupportExpression(org.gvsig.fmap.dal.feature.FeatureType type, String sql) booleansupportFilter(org.gvsig.fmap.dal.feature.FeatureType type, org.gvsig.tools.evaluator.Evaluator filter) booleanIndica si la BBDD soporta el uso de OFFSET en la sentencia select.booleansupportOrder(org.gvsig.fmap.dal.feature.FeatureType type, org.gvsig.fmap.dal.feature.FeatureQueryOrder order) toString()booleanIndica si se especifico un subquery al abrir el proveedor.Methods inherited from class org.gvsig.tools.dispose.impl.AbstractDisposable
dispose, disposeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.gvsig.fmap.dal.store.jdbc2.JDBCHelper
dispose
-
Field Details
-
LOGGER
protected static final org.slf4j.Logger LOGGER -
operationsFactory
-
srssolver
-
providerFeatureType
protected org.gvsig.fmap.dal.feature.FeatureType providerFeatureType -
transactionsHelper
protected org.gvsig.fmap.dal.SupportTransactionsHelper transactionsHelper
-
-
Constructor Details
-
JDBCHelperBase
public JDBCHelperBase(org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters connectionParameters)
-
-
Method Details
-
initialize
protected void initialize(org.gvsig.fmap.dal.resource.spi.ResourceConsumer helperClient, org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters connectionParameters, JDBCStoreProvider store) -
getResourceType
-
getProviderName
Description copied from interface:JDBCHelperReturn the name of the driver. By default rerturn "JDBC".- Specified by:
getProviderNamein interfaceJDBCHelper- Returns:
-
getGeometrySupportType
public org.gvsig.expressionevaluator.GeometryExpressionBuilderHelper.GeometrySupportType getGeometrySupportType()Description copied from interface:JDBCHelperIndica como deben ser guardadas las geometrias en la BBDD. Pueden guardarse en WKT, WKB o EWKB.- Specified by:
getGeometrySupportTypein interfaceJDBCHelper- Returns:
-
getProviderFeatureType
public org.gvsig.fmap.dal.feature.FeatureType getProviderFeatureType()- Specified by:
getProviderFeatureTypein interfaceJDBCHelper- Returns:
- the providerFeatureType
-
setProviderFeatureType
public void setProviderFeatureType(org.gvsig.fmap.dal.feature.FeatureType providerFeatureType) - Specified by:
setProviderFeatureTypein interfaceJDBCHelper- Parameters:
providerFeatureType- the providerFeatureType to set
-
hasSpatialFunctions
public boolean hasSpatialFunctions()Description copied from interface:JDBCHelperIndica si la BBDD tiene soporte espacial.- Specified by:
hasSpatialFunctionsin interfaceJDBCHelper- Returns:
-
allowNestedOperations
public boolean allowNestedOperations()- Specified by:
allowNestedOperationsin interfaceJDBCHelper
-
canWriteGeometry
public boolean canWriteGeometry(int geometryType, int geometrySubtype) Description copied from interface:JDBCHelperIndica si podemos escribir el tipo de geometria indicado.- Specified by:
canWriteGeometryin interfaceJDBCHelper- Parameters:
geometryType-geometrySubtype-- Returns:
-
createSQLBuilder
Description copied from interface:JDBCHelperDevuelve un SQLBuilder adaptado al proveedor. Por ejemplo, uno especifico para PostgreSQL, MySQL, Oracle, MSSQLServer...- Specified by:
createSQLBuilderin interfaceJDBCHelper- Returns:
-
getQuoteForIdentifiers
Description copied from interface:JDBCHelperDevuelve las comillas que han de usaese para los identificadores.- Specified by:
getQuoteForIdentifiersin interfaceJDBCHelper- Returns:
-
allowAutomaticValues
public boolean allowAutomaticValues()Description copied from interface:JDBCHelperIndica si la BBDD soporta valores automaticos, tipo serial.- Specified by:
allowAutomaticValuesin interfaceJDBCHelper- Returns:
-
supportOffsetInSelect
public boolean supportOffsetInSelect()Description copied from interface:JDBCHelperIndica si la BBDD soporta el uso de OFFSET en la sentencia select.- Specified by:
supportOffsetInSelectin interfaceJDBCHelper- Returns:
-
getQuoteForStrings
Description copied from interface:JDBCHelperDevuelve las comillas que han de usaese en las constantes de cadena.- Specified by:
getQuoteForStringsin interfaceJDBCHelper- Returns:
-
supportCaller
protected boolean supportCaller(org.gvsig.expressionevaluator.Code.Callable caller, org.gvsig.fmap.dal.feature.FeatureType type) -
supportFilter
public boolean supportFilter(org.gvsig.fmap.dal.feature.FeatureType type, org.gvsig.tools.evaluator.Evaluator filter) - Specified by:
supportFilterin interfaceJDBCHelper
-
supportExpression
- Specified by:
supportExpressionin interfaceJDBCHelper
-
supportOrder
public boolean supportOrder(org.gvsig.fmap.dal.feature.FeatureType type, org.gvsig.fmap.dal.feature.FeatureQueryOrder order) - Specified by:
supportOrderin interfaceJDBCHelper
-
getOperations
- Specified by:
getOperationsin interfaceJDBCHelper
-
initializeResource
protected void initializeResource(org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters params) -
getSourceId
- Specified by:
getSourceIdin interfaceJDBCHelper
-
getResource
- Specified by:
getResourcein interfaceJDBCHelper
-
getConnection
public org.gvsig.fmap.dal.store.jdbc2.JDBCConnection getConnection() throws org.gvsig.fmap.dal.resource.exception.AccessResourceException- Specified by:
getConnectionin interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.resource.exception.AccessResourceException
-
getConnectionWritable
public org.gvsig.fmap.dal.store.jdbc2.JDBCConnection getConnectionWritable() throws org.gvsig.fmap.dal.resource.exception.AccessResourceException- Specified by:
getConnectionWritablein interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.resource.exception.AccessResourceException
-
getConnectionURL
- Specified by:
getConnectionURLin interfaceJDBCHelper
-
getConnectionParameters
public org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters getConnectionParameters()- Specified by:
getConnectionParametersin interfaceJDBCHelper
-
doDispose
protected void doDispose() throws org.gvsig.tools.exception.BaseException- Specified by:
doDisposein classorg.gvsig.tools.dispose.impl.AbstractDisposable- Throws:
org.gvsig.tools.exception.BaseException
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
isClosed
public boolean isClosed() -
closeResourceRequested
public boolean closeResourceRequested(org.gvsig.fmap.dal.resource.spi.ResourceProvider resource) - Specified by:
closeResourceRequestedin interfaceorg.gvsig.fmap.dal.resource.spi.ResourceConsumer
-
resourceChanged
public void resourceChanged(org.gvsig.fmap.dal.resource.spi.ResourceProvider resource) - Specified by:
resourceChangedin interfaceorg.gvsig.fmap.dal.resource.spi.ResourceConsumer
-
getGeometryManager
public org.gvsig.fmap.geom.GeometryManager getGeometryManager()- Specified by:
getGeometryManagerin interfaceJDBCHelper
-
getResulSetControler
- Specified by:
getResulSetControlerin interfaceJDBCHelper
-
fetchFeature
public void fetchFeature(org.gvsig.fmap.dal.feature.spi.FeatureProvider feature, ResulSetControler.ResultSetEntry rs) throws org.gvsig.fmap.dal.exception.DataException - Specified by:
fetchFeaturein interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.exception.DataException
-
fetchFeature
public void fetchFeature(org.gvsig.fmap.dal.feature.spi.FeatureProvider feature, ResultSet rs, org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor[] columns, String[] extraValueNames) throws org.gvsig.fmap.dal.exception.DataException - Specified by:
fetchFeaturein interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.exception.DataException
-
getGeometryFromColumn
public org.gvsig.fmap.geom.Geometry getGeometryFromColumn(ResulSetControler.ResultSetEntry rs, int index) throws org.gvsig.fmap.dal.exception.DataException - Specified by:
getGeometryFromColumnin interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.exception.DataException
-
getGeometryFromColumn
public org.gvsig.fmap.geom.Geometry getGeometryFromColumn(ResultSet rs, int index) throws org.gvsig.fmap.dal.exception.DataException - Specified by:
getGeometryFromColumnin interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.exception.DataException
-
createFeature
public org.gvsig.fmap.dal.feature.spi.FeatureProvider createFeature(org.gvsig.fmap.dal.feature.FeatureType featureType) throws org.gvsig.fmap.dal.exception.DataException - Specified by:
createFeaturein interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.exception.DataException
-
useSubquery
public boolean useSubquery()Description copied from interface:JDBCHelperIndica si se especifico un subquery al abrir el proveedor.- Specified by:
useSubqueryin interfaceJDBCHelper- Returns:
-
getSRSSolver
- Specified by:
getSRSSolverin interfaceJDBCHelper
-
createProvider
public JDBCStoreProvider createProvider(org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters parameters, org.gvsig.fmap.dal.spi.DataStoreProviderServices providerServices) throws org.gvsig.fmap.dal.exception.InitializeException - Specified by:
createProviderin interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.exception.InitializeException
-
createServerExplorer
public org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer createServerExplorer(org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters parameters, org.gvsig.fmap.dal.spi.DataServerExplorerProviderServices providerServices) throws org.gvsig.fmap.dal.exception.InitializeException - Specified by:
createServerExplorerin interfaceJDBCHelper- Throws:
org.gvsig.fmap.dal.exception.InitializeException
-
createNewStoreParameters
public org.gvsig.fmap.dal.store.jdbc.JDBCNewStoreParameters createNewStoreParameters()- Specified by:
createNewStoreParametersin interfaceJDBCHelper
-
createOpenStoreParameters
public org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters createOpenStoreParameters()- Specified by:
createOpenStoreParametersin interfaceJDBCHelper
-
createOpenStoreParameters
public org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters createOpenStoreParameters(org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters parameters) - Specified by:
createOpenStoreParametersin interfaceJDBCHelper
-
createServerExplorerParameters
public org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters createServerExplorerParameters()- Specified by:
createServerExplorerParametersin interfaceJDBCHelper
-
getSourceId
- Specified by:
getSourceIdin interfaceJDBCHelper
-
isThreadSafe
public boolean isThreadSafe()- Specified by:
isThreadSafein interfaceJDBCHelper
-
processSpecialFunctions
public void processSpecialFunctions(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.feature.FeatureType type, List<String> extra_column_names, org.gvsig.fmap.dal.feature.FeatureQuery query) This method has been overriden in Oracle provider- Specified by:
processSpecialFunctionsin interfaceJDBCHelper- Parameters:
sqlbuilder-type-extra_column_names-
-
replaceExistsFunction
-
replaceForeingValueFunction
-
addTableToColumnReferences
protected void addTableToColumnReferences(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.feature.FeatureType type, org.gvsig.fmap.dal.feature.FeatureQuery query) -
addTableToColumnReferencesInSingleSelect
protected void addTableToColumnReferencesInSingleSelect(org.gvsig.fmap.dal.SQLBuilder sqlbuilder, org.gvsig.fmap.dal.SQLBuilder.SelectBuilder select, List<org.apache.commons.lang3.tuple.Pair<org.gvsig.fmap.dal.SQLBuilder.TableNameBuilder, org.gvsig.fmap.dal.feature.FeatureType>> outerTables, org.gvsig.fmap.dal.feature.FeatureQuery query) -
getTableAndFeatureType
protected org.apache.commons.lang3.tuple.Pair<org.gvsig.fmap.dal.SQLBuilder.TableNameBuilder,org.gvsig.fmap.dal.feature.FeatureType> getTableAndFeatureType(List<org.apache.commons.lang3.tuple.Pair<org.gvsig.fmap.dal.SQLBuilder.TableNameBuilder, org.gvsig.fmap.dal.feature.FeatureType>> outerTables, String columnName) -
setTransaction
public void setTransaction(org.gvsig.fmap.dal.spi.DataTransactionServices transaction) - Specified by:
setTransactionin interfaceJDBCHelper
-
toString
-
getConnectionProviderStatus
- Specified by:
getConnectionProviderStatusin interfaceJDBCHelper
-
expandCalculedColumns
- Specified by:
expandCalculedColumnsin interfaceJDBCHelper
-
getTransaction
public org.gvsig.fmap.dal.spi.DataTransactionServices getTransaction()- Specified by:
getTransactionin interfaceJDBCHelper
-
getConnectionProvider
-
getConnectionProviderKey
protected String getConnectionProviderKey(org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters connectionParameters)
-