Save This Page
Home » cocoon-2.1.11-src » org.apache » cocoon » acting » [javadoc | source]
org.apache.cocoon.acting
abstract public class: AbstractDatabaseAction [javadoc | source]
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.AbstractDatabaseAction

All Implemented Interfaces:
    org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.service.Serviceable, org.apache.avalon.framework.configuration.Configurable, Action

Direct Known Subclasses:
    OraUpdateAction, DbXMLAuthenticatorAction, DatabaseAddAction, DatabaseAuthenticatorAction, DatabaseCookieAuthenticatorAction, DatabaseUpdateAction, OraAddAction, DatabaseDeleteAction, DatabaseSelectAction

Set up environment for configurable form handling data. It is important to note that all DatabaseActions use a common configuration format. This group of actions are unique in that they employ a terciary mapping. There is the Form parameter, the database column, and the type. Each configuration file must use the same format in order to be effective. The name of the root configuration element is irrelevant.
<root>
<connection>personnel<connection>
<table>
<keys>
<key param="id" dbcol="id" type="int"/>
</keys>
<values>
<value param="name" dbcol="name" type="string"/>
<value param="department" dbcol="department_id" type="int"/>
</values>
</table>
</root>
The types recognized by this system are:
Type Description
ascii ASCII Input Stream, a CLOB input
big-decimal a java.math.BigDecimal value
binary Binary Input Stream, a BLOB input
byte a Byte
string a String
date a Date
double a Double
float a Float
int an Integer
long a Long
short a Short
time a Time
time-stamp a Timestamp
now a Timestamp with the current day/time--the form value is ignored.
image a binary image file, we cache the attribute information
image-width the width attribute of the cached file attribute. NOTE: param attribute must equal the param for image with a "-width" suffix.
image-height the width attribute of the cached file attribute NOTE: param attribute must equal the param for image with a "-height" suffix.
image-size the size attribute of the cached file attribute NOTE: param attribute must equal the param for image with a "-size" suffix.
Field Summary
protected  Map files     
protected static final  Map typeConstants     
protected  ServiceSelector dbselector     
Fields inherited from org.apache.cocoon.acting.ConfigurableServiceableAction:
manager
Fields inherited from org.apache.cocoon.acting.AbstractConfigurableAction:
settings
Fields inherited from org.apache.cocoon.acting.AbstractAction:
EMPTY_MAP
Method from org.apache.cocoon.acting.AbstractDatabaseAction Summary:
buildList,   buildList,   dispose,   getColumn,   getDataSource,   getRequestAttribute,   isLargeObject,   service,   setColumn,   setColumn,   setColumn,   setColumn,   setRequestAttribute
Methods from org.apache.cocoon.acting.AbstractComplementaryConfigurableAction:
getConfiguration,   getConfiguration,   getConfiguration
Methods from org.apache.cocoon.acting.ConfigurableServiceableAction:
service
Methods from org.apache.cocoon.acting.AbstractConfigurableAction:
configure
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.cocoon.acting.AbstractDatabaseAction Detail:
 protected StringBuffer buildList(Configuration[] values,
    String separator) throws ConfigurationException 
    Build a separed list with the Values of a Configuration Array
 protected StringBuffer buildList(Configuration[] values,
    int begin) throws ConfigurationException 
    Build a separed list with the Values of a Configuration Array
 public  void dispose() 
    dispose
 protected Object getColumn(ResultSet set,
    Request request,
    Configuration entry) throws Exception 
    Get the Statement column so that the results are mapped correctly.
 protected final DataSourceComponent getDataSource(Configuration conf) throws ServiceException 
    Get the Datasource we need.
 protected Object getRequestAttribute(Request request,
    String key) 
    Retreive a value from the request attributes.
 protected final boolean isLargeObject(String type) 
    Return whether a type is a Large Object (BLOB/CLOB).
 public  void service(ServiceManager manager) throws ServiceException 
    Compose the Actions so that we can select our databases.
 protected  void setColumn(PreparedStatement statement,
    int position,
    Request request,
    Configuration entry) throws Exception 
    Set the Statement column so that the results are mapped correctly. The name of the parameter is retrieved from the configuration object.
 protected  void setColumn(PreparedStatement statement,
    int position,
    Request request,
    Configuration entry,
    String param) throws Exception 
    Set the Statement column so that the results are mapped correctly. The value of the column is retrieved from the request object. If the named parameter exists in the request object's parameters, that value is used. Otherwise if the named parameter exists in the request object's attributes, that value is used. Otherwise the request object is retrieved using Request.get(attribute), which is documented to be the same as Request.getAttribute(attribute), so something weird must be going on.
 protected  void setColumn(PreparedStatement statement,
    int position,
    Request request,
    Configuration entry,
    String param,
    Object value) throws Exception 
    Set the Statement column so that the results are mapped correctly.
 protected  void setColumn(PreparedStatement statement,
    int position,
    Request request,
    Configuration entry,
    String param,
    Object value,
    int rowIndex) throws Exception 
    Set the Statement column so that the results are mapped correctly.
 protected  void setRequestAttribute(Request request,
    String key,
    Object value) 
    Store a key/value pair in the request attributes. We prefix the key with the name of this class to prevent potential name collisions.