This project has retired. For details please refer to its
Attic page .
DatabaseQueryAction (Cocoon API 2.1.12-dev [March 20 2012])
org.apache.cocoon.acting.modular
Class DatabaseQueryAction
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.acting.AbstractAction
org.apache.cocoon.acting.AbstractConfigurableAction
org.apache.cocoon.acting.ConfigurableServiceableAction
org.apache.cocoon.acting.AbstractComplementaryConfigurableAction
org.apache.cocoon.acting.modular.DatabaseAction
org.apache.cocoon.acting.modular.DatabaseQueryAction
All Implemented Interfaces: Disposable , Component , Configurable , LogEnabled , Serviceable , ThreadSafe , Action
public class DatabaseQueryAction extends DatabaseAction
Executes an arbitrary query. The query is associated with a table
and selected through the others mode. All keys and values are set
in order of appearance, starting with keys, thus the query needs to
have as many placeholders for prepared statement parameters. If it
is an update query, the number of affected rows is returned to the
sitemap.
<table name="example">
<queries>
<query mode="one">update example set count=count+1 where id=?</query>
<query mode="two">select count, name from example where id=?</query>
</queries>
<keys>
<key name="id"/>
</keys>
<values/>
</table>
Version:
CVS $Id: DatabaseQueryAction.html 1304258 2012-03-23 10:09:27Z ilgrosso $
Author:
Christian Haul
Fields inherited from interface org.apache.cocoon.acting.Action
ROLE
Method Summary
protected Object [][]
getColumnValues (Configuration tableConf,
DatabaseAction.CacheHelper queryData,
Map objectModel)
Fetch all values for all columns that are needed to do the database operation.
protected DatabaseAction.CacheHelper
getQuery (Configuration table,
Map modeTypes,
Map defaultModeNames)
Get the String representation of the PreparedStatement.
protected boolean
honourAutoIncrement ()
determine whether autoincrement columns should be honoured by
this operation.
protected int
processRow (Map objectModel,
Connection conn,
PreparedStatement statement,
String outputMode,
Configuration table,
DatabaseAction.CacheHelper queryData,
Object [][] columnValues,
int rowIndex,
Map results)
set all necessary ?
protected String
selectMode (boolean isAutoIncrement,
Map modes)
determine which mode to use as default mode
here: SELECT
highly specific to operation INSERT / UPDATE / DELETE / SELECT
Methods inherited from class org.apache.cocoon.acting.modular.DatabaseAction
act , configure , dispose , fillModes , getColumnValue , getDataSource , getMode , getOutputName , getOutputName , isLargeObject , processTable , service , setColumn , setColumn , setOutput , setOutputAttribute
Methods inherited from class java.lang.Object
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
DatabaseQueryAction
public DatabaseQueryAction ()
selectMode
protected String selectMode (boolean isAutoIncrement,
Map modes)
determine which mode to use as default mode
here: SELECT
highly specific to operation INSERT / UPDATE / DELETE / SELECT
Specified by: selectMode
in class DatabaseAction
honourAutoIncrement
protected boolean honourAutoIncrement ()
determine whether autoincrement columns should be honoured by
this operation. This is usually snsible only for INSERTs.
Specified by: honourAutoIncrement
in class DatabaseAction
getQuery
protected DatabaseAction.CacheHelper getQuery (Configuration table,
Map modeTypes,
Map defaultModeNames)
throws ConfigurationException ,
ServiceException
Get the String representation of the PreparedStatement. This is
mapped to the Configuration object itself, so if it doesn't exist,
it will be created.
Specified by: getQuery
in class DatabaseAction
Parameters: table
- the table's configuration object
Returns: the insert query as a string
Throws:
ConfigurationException
ServiceException
getColumnValues
protected Object [][] getColumnValues (Configuration tableConf,
DatabaseAction.CacheHelper queryData,
Map objectModel)
throws ConfigurationException ,
ServiceException
Fetch all values for all columns that are needed to do the database operation.
Throws:
ConfigurationException
ServiceException
processRow
protected int processRow (Map objectModel,
Connection conn,
PreparedStatement statement,
String outputMode,
Configuration table,
DatabaseAction.CacheHelper queryData,
Object [][] columnValues,
int rowIndex,
Map results)
throws SQLException ,
ConfigurationException ,
Exception
set all necessary ?s and execute the query
Specified by: processRow
in class DatabaseAction
Throws:
SQLException
ConfigurationException
Exception
Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.