it.eng.spago.util
Class QueryExecutor

java.lang.Object
  extended by it.eng.spago.util.QueryExecutor

public abstract class QueryExecutor
extends java.lang.Object

DATE CONTRIBUTOR/DEVELOPER NOTE 13-12-2004 Butano - SourceBean ora restituisce ArrayList 13-12-2005 Boccalon/Grassi - Added utility methods to execute queries giving the DataConnection instead of the connection pool, or giving the parameter list instead of the automatic parameters retrieval


Field Summary
static java.lang.String CREATE
           
static java.lang.String DELETE
           
static java.lang.String READ
           
static java.lang.String UPDATE
           
 
Constructor Summary
QueryExecutor()
           
 
Method Summary
static SQLCommand createStatementSql(DataConnection dataConnection, java.lang.String statement, java.lang.String type)
          Crea il comando da eseguire a seconda del tipo di richiesta
static java.lang.Object executeQuery(DataConnection dataConnection, java.lang.String type, SourceBean query, java.util.ArrayList parameters)
          Esegue statement SQL con parametri passati esplicitamente nel metodo
protected static java.lang.Object executeQuery(DataConnection dataConnection, java.lang.String statement, java.lang.String type, java.util.ArrayList inputParameters)
           
static java.lang.Object executeQuery(RequestContainer requestContainer, ResponseContainer responseContainer, DataConnection dataConnection, SourceBean query, java.lang.String type)
          Esegue i comandi SQL SELECT, INSERT, DELETE, UPDATE.
static java.lang.Object executeQuery(RequestContainer requestContainer, ResponseContainer responseContainer, java.lang.String pool, SourceBean query, java.lang.String type)
          Esegue i comandi SQL SELECT, INSERT, DELETE, UPDATE.
protected static boolean handleFilterParameter(RequestContainer requestContainer, ResponseContainer responseContainer, SourceBean parameter, java.util.ArrayList inputParameters, DataConnection dataConnection, java.lang.StringBuffer statement, java.lang.String condizioneSql)
          Trattamento dei parametri di tipo FILTER
protected static void handleOrderByParameter(SourceBean parameter, java.lang.StringBuffer statement, java.lang.String condizioneSql)
          Gestione dell'opzione ORDER_BY
protected static boolean handleParameter(RequestContainer requestContainer, ResponseContainer responseContainer, SourceBean parameter, java.util.ArrayList inputParameters, DataConnection dataConnection)
          Trattamento dei parametri "standard"
protected static boolean handleParameter(RequestContainer requestContainer, ResponseContainer responseContainer, SourceBean parameter, java.util.ArrayList inputParameters, DataConnection dataConnection, boolean isFilterParameter, java.lang.StringBuffer statement, java.lang.String condizioneSql)
          Gestione generalizzata per i parametri di tipo "normale" e FILTER
static DataConnection openConnection(java.lang.String pool)
          Apre la connessione attraverso il pool
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CREATE

public static final java.lang.String CREATE
See Also:
Constant Field Values

READ

public static final java.lang.String READ
See Also:
Constant Field Values

UPDATE

public static final java.lang.String UPDATE
See Also:
Constant Field Values

DELETE

public static final java.lang.String DELETE
See Also:
Constant Field Values
Constructor Detail

QueryExecutor

public QueryExecutor()
Method Detail

createStatementSql

public static SQLCommand createStatementSql(DataConnection dataConnection,
                                            java.lang.String statement,
                                            java.lang.String type)
Crea il comando da eseguire a seconda del tipo di richiesta

Parameters:
dataConnection -
query -
type - Il tipo di query da eseguire: CREATE, READ, UPDATE, DELETE
Returns:

openConnection

public static DataConnection openConnection(java.lang.String pool)
                                     throws EMFInternalError
Apre la connessione attraverso il pool

Parameters:
pool -
Returns:
Throws:
EMFInternalError

executeQuery

public static java.lang.Object executeQuery(RequestContainer requestContainer,
                                            ResponseContainer responseContainer,
                                            java.lang.String pool,
                                            SourceBean query,
                                            java.lang.String type)
Esegue i comandi SQL SELECT, INSERT, DELETE, UPDATE. La connessione viene chiesta al connection pool.

Parameters:
requestContainer -
responseContainer -
pool - Il nome del pool del database
query - Il SourceBean contenente la configurazione della query da eseguire
type - Il tipo di query da eseguire: CREATE, READ, UPDATE, DELETE
Returns:

executeQuery

public static java.lang.Object executeQuery(RequestContainer requestContainer,
                                            ResponseContainer responseContainer,
                                            DataConnection dataConnection,
                                            SourceBean query,
                                            java.lang.String type)
Esegue i comandi SQL SELECT, INSERT, DELETE, UPDATE. La connessione è passata come parametro (per le transazioni gestite manualmente)

Parameters:
requestContainer -
responseContainer -
dataConnection - La connessione verso il database
query - Il SourceBean contenente la configurazione della query da eseguire
type - Il tipo di query da eseguire: CREATE, READ, UPDATE, DELETE
Returns:

executeQuery

public static java.lang.Object executeQuery(DataConnection dataConnection,
                                            java.lang.String type,
                                            SourceBean query,
                                            java.util.ArrayList parameters)
                                     throws java.lang.Exception
Esegue statement SQL con parametri passati esplicitamente nel metodo

Parameters:
dataConnection - La connessione di database: non viene effettuata alcuna commit o rollback
type - Il tipo di query da eseguire: CREATE, READ, UPDATE, DELETE
query - Il SourceBean contenente la configurazione della query da eseguire
parameters - I parametri da integrare nello statement
Returns:
Throws:
java.lang.Exception

executeQuery

protected static java.lang.Object executeQuery(DataConnection dataConnection,
                                               java.lang.String statement,
                                               java.lang.String type,
                                               java.util.ArrayList inputParameters)
                                        throws java.lang.Exception
Throws:
java.lang.Exception

handleParameter

protected static boolean handleParameter(RequestContainer requestContainer,
                                         ResponseContainer responseContainer,
                                         SourceBean parameter,
                                         java.util.ArrayList inputParameters,
                                         DataConnection dataConnection)
Trattamento dei parametri "standard"

Parameters:
requestContainer -
responseContainer -
parameter -
inputParameters -
dataConnection -
Returns:

handleFilterParameter

protected static boolean handleFilterParameter(RequestContainer requestContainer,
                                               ResponseContainer responseContainer,
                                               SourceBean parameter,
                                               java.util.ArrayList inputParameters,
                                               DataConnection dataConnection,
                                               java.lang.StringBuffer statement,
                                               java.lang.String condizioneSql)
Trattamento dei parametri di tipo FILTER

Parameters:
requestContainer -
responseContainer -
parameter -
inputParameters -
dataConnection -
statement -
condizioneSql -
Returns:

handleParameter

protected static boolean handleParameter(RequestContainer requestContainer,
                                         ResponseContainer responseContainer,
                                         SourceBean parameter,
                                         java.util.ArrayList inputParameters,
                                         DataConnection dataConnection,
                                         boolean isFilterParameter,
                                         java.lang.StringBuffer statement,
                                         java.lang.String condizioneSql)
Gestione generalizzata per i parametri di tipo "normale" e FILTER

Parameters:
requestContainer -
responseContainer -
parameter -
inputParameters -
dataConnection -
isFilterParameter -
statement -
condizioneSql -
Returns:

handleOrderByParameter

protected static void handleOrderByParameter(SourceBean parameter,
                                             java.lang.StringBuffer statement,
                                             java.lang.String condizioneSql)
Gestione dell'opzione ORDER_BY

Parameters:
parameter -
statement -
condizioneSql -