|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
public abstract class AbstractDatabaseAction
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 ServiceSelector |
dbselector
|
protected Map |
files
|
protected static Map |
typeConstants
|
Fields inherited from class org.apache.cocoon.acting.ConfigurableServiceableAction |
---|
manager |
Fields inherited from class org.apache.cocoon.acting.AbstractConfigurableAction |
---|
settings |
Fields inherited from class org.apache.cocoon.acting.AbstractAction |
---|
EMPTY_MAP |
Fields inherited from interface org.apache.cocoon.acting.Action |
---|
ROLE |
Constructor Summary | |
---|---|
AbstractDatabaseAction()
|
Method Summary | |
---|---|
protected StringBuffer |
buildList(Configuration[] values,
int begin)
Build a separed list with the Values of a Configuration Array |
protected StringBuffer |
buildList(Configuration[] values,
String separator)
Build a separed list with the Values of a Configuration Array |
void |
dispose()
dispose |
protected Object |
getColumn(ResultSet set,
Request request,
Configuration entry)
Get the Statement column so that the results are mapped correctly. |
protected DataSourceComponent |
getDataSource(Configuration conf)
Get the Datasource we need. |
protected Object |
getRequestAttribute(Request request,
String key)
Retreive a value from the request attributes. |
protected boolean |
isLargeObject(String type)
Return whether a type is a Large Object (BLOB/CLOB). |
void |
service(ServiceManager manager)
Compose the Actions so that we can select our databases. |
protected void |
setColumn(PreparedStatement statement,
int position,
Request request,
Configuration entry)
Set the Statement column so that the results are mapped correctly. |
protected void |
setColumn(PreparedStatement statement,
int position,
Request request,
Configuration entry,
String param)
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)
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)
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. |
Methods inherited from class org.apache.cocoon.acting.AbstractComplementaryConfigurableAction |
---|
getConfiguration, getConfiguration, getConfiguration |
Methods inherited from class org.apache.cocoon.acting.AbstractConfigurableAction |
---|
configure |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
---|
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.cocoon.acting.Action |
---|
act |
Field Detail |
---|
protected Map files
protected static final Map typeConstants
protected ServiceSelector dbselector
Constructor Detail |
---|
public AbstractDatabaseAction()
Method Detail |
---|
public void service(ServiceManager manager) throws ServiceException
service
in interface Serviceable
service
in class ConfigurableServiceableAction
ServiceException
protected final DataSourceComponent getDataSource(Configuration conf) throws ServiceException
ServiceException
protected final boolean isLargeObject(String type)
protected Object getColumn(ResultSet set, Request request, Configuration entry) throws Exception
Exception
protected void setColumn(PreparedStatement statement, int position, Request request, Configuration entry) throws Exception
statement
- the prepared statementposition
- the position of the columnrequest
- the requestentry
- the configuration object
Exception
protected void setColumn(PreparedStatement statement, int position, Request request, Configuration entry, String param) throws Exception
statement
- the prepared statementposition
- the position of the columnrequest
- the requestentry
- the configuration objectparam
- the name of the request parameter
Exception
protected void setColumn(PreparedStatement statement, int position, Request request, Configuration entry, String param, Object value) throws Exception
statement
- the prepared statementposition
- the position of the columnrequest
- the requestentry
- the configuration objectparam
- the name of the request parametervalue
- the value of the column
Exception
protected void setColumn(PreparedStatement statement, int position, Request request, Configuration entry, String param, Object value, int rowIndex) throws Exception
statement
- the prepared statementposition
- the position of the columnrequest
- the requestentry
- the configuration objectparam
- the name of the request parametervalue
- the value of the columnrowIndex
- the index of the current row for manyrows inserts
Exception
public void dispose()
dispose
in interface Disposable
protected void setRequestAttribute(Request request, String key, Object value)
protected Object getRequestAttribute(Request request, String key)
protected StringBuffer buildList(Configuration[] values, String separator) throws ConfigurationException
values
- - build the list fromseparator
- - Put a separator between the values of the list
ConfigurationException
protected StringBuffer buildList(Configuration[] values, int begin) throws ConfigurationException
values
- - build the list frombegin
- - Initial index
ConfigurationException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |