org.gcube.portlets.user.tdw.datasource.jdbc
Class JDBCDataSource

java.lang.Object
  extended by org.gcube.portlets.user.tdw.datasource.jdbc.JDBCDataSource
All Implemented Interfaces:
org.gcube.portlets.user.tdw.server.datasource.DataSource

public class JDBCDataSource
extends Object
implements org.gcube.portlets.user.tdw.server.datasource.DataSource

Author:
"Giancarlo Panichi" g.panichi@isti.cnr.it

Field Summary
protected  org.gcube.portlets.user.tdw.shared.model.ColumnDefinition autogeneratePrimaryColumn
           
protected  Connection connection
           
protected  String dataSourceFactoryId
           
protected  SQLDialect dialect
           
static String JSON_OFFSET_FIELD
           
static String JSON_ROWS_FIELD
           
static String JSON_TOTAL_LENGTH_FIELD
           
protected  org.gcube.portlets.user.tdw.server.datasource.util.TableJSonBuilder jsonBuilder
           
protected  org.slf4j.Logger logger
           
protected  Map<String,PreparedStatement> preparedStatementCache
           
protected  org.gcube.portlets.user.tdw.shared.model.TableDefinition tableDefinition
           
protected  String tableName
           
protected  int tableSize
           
 
Constructor Summary
JDBCDataSource(String dataSourceFactoryId, Connection connection, String tableName)
           
JDBCDataSource(String dataSourceFactoryId, Connection connection, String tableName, SQLDialect dialect)
           
JDBCDataSource(String dataSourceFactoryId, String jdbcConnectionUrl, String tableName)
           
 
Method Summary
protected  int calculateTableSize()
           
 void close()
          Close this DataSource releasing all the allocated resources.
static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId, Connection connection, String tableName)
           
static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId, Connection connection, String tableName, SQLDialect dialect)
           
static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId, String jdbcConnectionUrl, String tableName)
           
static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId, String jdbcConnectionUrl, String tableName, SQLDialect dialect)
           
protected  org.gcube.portlets.user.tdw.shared.model.ColumnDefinition createPrimaryKeyColumn(List<org.gcube.portlets.user.tdw.shared.model.ColumnDefinition> columns)
           
protected  org.gcube.portlets.user.tdw.shared.model.TableDefinition extractTableDefinition()
           
protected  org.gcube.portlets.user.tdw.server.datasource.util.TableJSonBuilder getBuilder()
           
protected  org.gcube.portlets.user.tdw.shared.model.ColumnDefinition getColumnDefinition(ResultSet columns)
           
protected  List<org.gcube.portlets.user.tdw.shared.model.ColumnDefinition> getColumnDefinitions()
           
 String getDataAsJSon(int start, int limit, String sortingColumn, org.gcube.portlets.user.tdw.server.datasource.Direction direction)
          
 String getDataSourceFactoryId()
          
protected  String getJSon(ResultSet resultSet, int start)
           
protected  PreparedStatement getPreparedStatement(String sortingColumn, org.gcube.portlets.user.tdw.server.datasource.Direction sortingDirection, int start, int limit)
           
protected  String getPrimaryKey()
           
 org.gcube.portlets.user.tdw.shared.model.TableDefinition getTableDefinition()
          
protected  int getTableSize()
           
protected  org.gcube.portlets.user.tdw.shared.model.ValueType getValueType(int sqlType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JSON_ROWS_FIELD

public static final String JSON_ROWS_FIELD
See Also:
Constant Field Values

JSON_TOTAL_LENGTH_FIELD

public static final String JSON_TOTAL_LENGTH_FIELD
See Also:
Constant Field Values

JSON_OFFSET_FIELD

public static final String JSON_OFFSET_FIELD
See Also:
Constant Field Values

logger

protected org.slf4j.Logger logger

dataSourceFactoryId

protected String dataSourceFactoryId

connection

protected Connection connection

dialect

protected SQLDialect dialect

tableName

protected String tableName

tableDefinition

protected org.gcube.portlets.user.tdw.shared.model.TableDefinition tableDefinition

tableSize

protected int tableSize

preparedStatementCache

protected Map<String,PreparedStatement> preparedStatementCache

autogeneratePrimaryColumn

protected org.gcube.portlets.user.tdw.shared.model.ColumnDefinition autogeneratePrimaryColumn

jsonBuilder

protected org.gcube.portlets.user.tdw.server.datasource.util.TableJSonBuilder jsonBuilder
Constructor Detail

JDBCDataSource

public JDBCDataSource(String dataSourceFactoryId,
                      Connection connection,
                      String tableName,
                      SQLDialect dialect)

JDBCDataSource

public JDBCDataSource(String dataSourceFactoryId,
                      Connection connection,
                      String tableName)
               throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Parameters:
dataSourceFactoryId -
connection -
tableName -
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

JDBCDataSource

public JDBCDataSource(String dataSourceFactoryId,
                      String jdbcConnectionUrl,
                      String tableName)
               throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Parameters:
dataSourceFactoryId -
jdbcConnectionUrl -
tableName -
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Method Detail

createJDBCDataSource

public static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId,
                                                  Connection connection,
                                                  String tableName,
                                                  SQLDialect dialect)

createJDBCDataSource

public static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId,
                                                  Connection connection,
                                                  String tableName)
                                           throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

createJDBCDataSource

public static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId,
                                                  String jdbcConnectionUrl,
                                                  String tableName)
                                           throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

createJDBCDataSource

public static JDBCDataSource createJDBCDataSource(String dataSourceFactoryId,
                                                  String jdbcConnectionUrl,
                                                  String tableName,
                                                  SQLDialect dialect)
                                           throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

getDataSourceFactoryId

public String getDataSourceFactoryId()

Specified by:
getDataSourceFactoryId in interface org.gcube.portlets.user.tdw.server.datasource.DataSource

close

public void close()
           throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Close this DataSource releasing all the allocated resources.

Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

getTableDefinition

public org.gcube.portlets.user.tdw.shared.model.TableDefinition getTableDefinition()
                                                                            throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException

Specified by:
getTableDefinition in interface org.gcube.portlets.user.tdw.server.datasource.DataSource
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

extractTableDefinition

protected org.gcube.portlets.user.tdw.shared.model.TableDefinition extractTableDefinition()
                                                                                   throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

getColumnDefinitions

protected List<org.gcube.portlets.user.tdw.shared.model.ColumnDefinition> getColumnDefinitions()
                                                                                        throws SQLException,
                                                                                               org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
SQLException
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

getColumnDefinition

protected org.gcube.portlets.user.tdw.shared.model.ColumnDefinition getColumnDefinition(ResultSet columns)
                                                                                 throws SQLException
Throws:
SQLException

getPrimaryKey

protected String getPrimaryKey()
                        throws SQLException,
                               org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
SQLException
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

createPrimaryKeyColumn

protected org.gcube.portlets.user.tdw.shared.model.ColumnDefinition createPrimaryKeyColumn(List<org.gcube.portlets.user.tdw.shared.model.ColumnDefinition> columns)

getValueType

protected org.gcube.portlets.user.tdw.shared.model.ValueType getValueType(int sqlType)

getDataAsJSon

public String getDataAsJSon(int start,
                            int limit,
                            String sortingColumn,
                            org.gcube.portlets.user.tdw.server.datasource.Direction direction)
                     throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException

Specified by:
getDataAsJSon in interface org.gcube.portlets.user.tdw.server.datasource.DataSource
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

getPreparedStatement

protected PreparedStatement getPreparedStatement(String sortingColumn,
                                                 org.gcube.portlets.user.tdw.server.datasource.Direction sortingDirection,
                                                 int start,
                                                 int limit)
                                          throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException,
                                                 SQLException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException
SQLException

getJSon

protected String getJSon(ResultSet resultSet,
                         int start)
                  throws SQLException,
                         org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
SQLException
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

getBuilder

protected org.gcube.portlets.user.tdw.server.datasource.util.TableJSonBuilder getBuilder()
                                                                                  throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

getTableSize

protected int getTableSize()
                    throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException

calculateTableSize

protected int calculateTableSize()
                          throws org.gcube.portlets.user.tdw.server.datasource.DataSourceException
Throws:
org.gcube.portlets.user.tdw.server.datasource.DataSourceException


Copyright © 2013. All Rights Reserved.