This project has retired. For details please refer to its
Attic page .
DatabaseAddAction (Cocoon API 2.1.12-dev [March 20 2012])
org.apache.cocoon.acting.modular
Class DatabaseAddAction
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.DatabaseAddAction
All Implemented Interfaces: Disposable , Component , Configurable , LogEnabled , Serviceable , ThreadSafe , Action
public class DatabaseAddAction extends DatabaseAction
Adds record in a database. The action can update one or more
tables, and can add more than one row to a table at a time. See
DatabaseAction
for details.
Version:
CVS $Id: DatabaseAddAction.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: INSERT
highly specific to operation INSERT / UPDATE / DELETE / SELECT
protected int
setKeyAuto (Configuration table,
DatabaseAction.Column column,
int currentIndex,
int rowIndex,
Connection conn,
PreparedStatement statement,
Map objectModel,
String outputMode,
Map results)
Sets the key value on the prepared statement for an autoincrement type.
protected void
storeKeyValue (Configuration tableConf,
DatabaseAction.Column key,
int rowIndex,
Connection conn,
Statement statement,
Map objectModel,
String outputMode,
Map results)
Put key values into request attributes.
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
DatabaseAddAction
public DatabaseAddAction ()
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
setKeyAuto
protected int setKeyAuto (Configuration table,
DatabaseAction.Column column,
int currentIndex,
int rowIndex,
Connection conn,
PreparedStatement statement,
Map objectModel,
String outputMode,
Map results)
throws ConfigurationException ,
SQLException ,
Exception
Sets the key value on the prepared statement for an autoincrement type.
Parameters: table
- the table's configuration objectcolumn
- the key's configuration objectcurrentIndex
- the position of the key columnrowIndex
- the position in the current row setconn
- the database connectionstatement
- the insert statementobjectModel
- the objectModel objectoutputMode
- name of the requested output moduleresults
- sitemap result object
Returns: the number of columns by which to increment the currentIndex
Throws:
ConfigurationException
SQLException
Exception
storeKeyValue
protected void storeKeyValue (Configuration tableConf,
DatabaseAction.Column key,
int rowIndex,
Connection conn,
Statement statement,
Map objectModel,
String outputMode,
Map results)
throws SQLException ,
ConfigurationException ,
ServiceException
Put key values into request attributes. Checks whether the
value needs to be retrieved from the database module first.
Throws:
SQLException
ConfigurationException
ServiceException
selectMode
protected String selectMode (boolean isAutoIncrement,
Map modes)
determine which mode to use as default mode
here: INSERT
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
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
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
Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.