org.apache.cocoon.acting
Class DatabaseAddAction

java.lang.Object
  |
  +--org.apache.avalon.framework.logger.AbstractLoggable
        |
        +--org.apache.cocoon.acting.AbstractAction
              |
              +--org.apache.cocoon.acting.AbstractConfigurableAction
                    |
                    +--org.apache.cocoon.acting.ConfigurableComposerAction
                          |
                          +--org.apache.cocoon.acting.AbstractComplementaryConfigurableAction
                                |
                                +--org.apache.cocoon.acting.AbstractDatabaseAction
                                      |
                                      +--org.apache.cocoon.acting.DatabaseAddAction
All Implemented Interfaces:
Action, org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.logger.Loggable, org.apache.avalon.framework.thread.ThreadSafe

public class DatabaseAddAction
extends AbstractDatabaseAction
implements org.apache.avalon.framework.thread.ThreadSafe

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. The form descriptor semantics for this are still in a bit of a state of flux. Note that if a secondary table relies on the value of a new primary key in a primary table, the primary key must be created using manual mode.

Version:
CVS $Id: DatabaseAddAction.java,v 1.7.2.1 2002/08/25 09:12:09 haul Exp $
Author:
Berin Loritsch, Donald Ball

Field Summary
protected static java.util.Map addStatements
           
 
Fields inherited from class org.apache.cocoon.acting.AbstractDatabaseAction
dbselector, files, typeConstants
 
Fields inherited from class org.apache.cocoon.acting.ConfigurableComposerAction
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
DatabaseAddAction()
           
 
Method Summary
 java.util.Map act(Redirector redirector, SourceResolver resolver, java.util.Map objectModel, java.lang.String source, org.apache.avalon.framework.parameters.Parameters param)
          Add a record to the database.
protected  java.lang.String getAddQuery(org.apache.avalon.framework.configuration.Configuration table)
          Get the String representation of the PreparedStatement.
protected  java.lang.String getSelectQuery(org.apache.avalon.framework.configuration.Configuration entry)
           
protected  void setSelectQuery(java.lang.String tableName, org.apache.avalon.framework.configuration.Configuration entry)
          Set the String representation of the MaxID lookup statement.
 
Methods inherited from class org.apache.cocoon.acting.AbstractDatabaseAction
compose, dispose, getColumn, getDataSource, getRequestAttribute, isLargeObject, setColumn, setColumn, setColumn, setColumn, setRequestAttribute
 
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.AbstractLoggable
getLogger, setLogger, 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.avalon.framework.configuration.Configurable
configure
 

Field Detail

addStatements

protected static final java.util.Map addStatements
Constructor Detail

DatabaseAddAction

public DatabaseAddAction()
Method Detail

act

public java.util.Map act(Redirector redirector,
                         SourceResolver resolver,
                         java.util.Map objectModel,
                         java.lang.String source,
                         org.apache.avalon.framework.parameters.Parameters param)
                  throws java.lang.Exception
Add a record to the database. This action assumes that the file referenced by the "descriptor" parameter conforms to the AbstractDatabaseAction specifications.
Following copied from interface: org.apache.cocoon.acting.Action
Parameters:
resolver - The SourceResolver in charge
objectModel - The Map with object of the calling environment which can be used to select values this controller may need (ie Request, Response).
source - A source String to the Action
parameters - The Parameters for this invocation
Returns:
Map The returned Map object with sitemap substitution values which can be used in subsequent elements attributes like src= using a xpath like expression: src="mydir/{myval}/foo" If the return value is null the processing inside the element of the sitemap will be skipped.
Throws:
java.lang.Exception - Indicates something is totally wrong

getAddQuery

protected java.lang.String getAddQuery(org.apache.avalon.framework.configuration.Configuration table)
                                throws org.apache.avalon.framework.configuration.ConfigurationException
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.
Parameters:
table - the table's configuration object
Returns:
the insert query as a string

setSelectQuery

protected final void setSelectQuery(java.lang.String tableName,
                                    org.apache.avalon.framework.configuration.Configuration entry)
                             throws org.apache.avalon.framework.configuration.ConfigurationException
Set the String representation of the MaxID lookup statement. This is mapped to the Configuration object itself, so if it doesn't exist, it will be created.

getSelectQuery

protected final java.lang.String getSelectQuery(org.apache.avalon.framework.configuration.Configuration entry)
                                         throws org.apache.avalon.framework.configuration.ConfigurationException


Copyright � 1999-2002 Apache Software Foundation. All Rights Reserved.