com.cgiams.esl.util
Class DefaultDataManagerImpl

java.lang.Object
  extended bycom.cgiams.esl.util.DefaultDataManagerImpl
All Implemented Interfaces:
DataManager, ValueListHandler

public class DefaultDataManagerImpl
extends java.lang.Object
implements DataManager

This class is the deafult implementation for the Data Access Layer and currently uses iBATIS for executing SQL. It provides an implementation of the DataManager interface.

The configuration file must be in the appropriate iBATIS XML file format.

Modification History
Programmer Date Description
Jim Matysczak 03/18/2005 Original Author
Scott Bowers 04/06/2005 Renamed this file from DataManager to DefaultDataManagerImpl. This breaks the coupling of the data access layer allowing other types of data access to occur. The DataManager class is now an Interface which this class implements. Instances of this class should be retrieved through the DataManagerFactory object.


Field Summary
 com.ibatis.sqlmap.client.SqlMapClient io_sql_map_client
          The instance of the Data Access Layer.
 
Constructor Summary
DefaultDataManagerImpl(java.lang.String as_config_file)
          Constructor that initializes the new instance with the specified configuration file.
 
Method Summary
 void commitTxn()
          Commit a transaction.
 java.util.Collection getData(java.lang.String as_sql_id)
          This method will retrieve a data set based on the specified SQL ID.
 java.util.Collection getData(java.lang.String as_sql_id, java.lang.Object ao_arguments)
          This method will retrieve a data set based on the specified SQL ID and arguments.
 java.lang.Object getData(java.lang.String as_sql_id, java.lang.Object ao_arguments, com.ibatis.sqlmap.client.event.RowHandler ao_row_handler)
          This method will retrieve a data set based on the specified SQL ID and arguments.
 java.lang.String getSystemOptionString(java.lang.String as_option_name)
          This method will return the String value for the specified option name.
 ValueListResultContext getValueObjects(ValueListSearchContext ao_search_parms)
          Retrieve a list of value objects based on the incoming search context.
 void rollbackTxn()
          Rollback a transaction.
 void startTxn()
          Start a transaction.
 org.w3c.dom.Document toXML(java.lang.String as_root_name, java.lang.String[] as_sql_ids, java.lang.String[] as_xml_tags, java.lang.Object ao_arguments)
          This method will take a list of SQL IDs to execute, convert the results to an XML document, and return the document.
 void updateData(java.lang.String as_sql_id, java.lang.Object ao_arguments)
          This method will execute an update based on the specified SQL ID and arguments.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

io_sql_map_client

public final com.ibatis.sqlmap.client.SqlMapClient io_sql_map_client
The instance of the Data Access Layer.

Constructor Detail

DefaultDataManagerImpl

public DefaultDataManagerImpl(java.lang.String as_config_file)
                       throws java.io.FileNotFoundException,
                              java.io.IOException
Constructor that initializes the new instance with the specified configuration file.

Parameters:
as_config_file - The configuration file that specifies the initialization parameters for the Data Access Layer.
Throws:
java.io.FileNotFoundException - If the incoming config file cannot be found.
java.io.IOException - If any other exception occurs with reading the configuration file.
Method Detail

startTxn

public void startTxn()
              throws java.sql.SQLException
Description copied from interface: DataManager
Start a transaction.

Specified by:
startTxn in interface DataManager
Throws:
java.sql.SQLException - If any error occurs.

commitTxn

public void commitTxn()
               throws java.sql.SQLException
Description copied from interface: DataManager
Commit a transaction.

Specified by:
commitTxn in interface DataManager
Throws:
java.sql.SQLException - If any error occurs.

rollbackTxn

public void rollbackTxn()
                 throws java.sql.SQLException
Description copied from interface: DataManager
Rollback a transaction.

Specified by:
rollbackTxn in interface DataManager
Throws:
java.sql.SQLException - If any error occurs.

getSystemOptionString

public java.lang.String getSystemOptionString(java.lang.String as_option_name)
                                       throws java.lang.Exception
This method will return the String value for the specified option name. The SQL Select defined in the Data Access Layer must define the String column with the same name as the value defined by the static variable of this class called ss_system_option_string. Also, this method calls DataManager.getSystemOption(String,String), so that method's prerequisites must also be met.

Specified by:
getSystemOptionString in interface DataManager
Parameters:
as_option_name - The option name to return the String value for.
Returns:
The String value for the specified option name.
Throws:
java.lang.Exception - If an error occurres.

getData

public java.util.Collection getData(java.lang.String as_sql_id)
                             throws java.lang.Exception
This method will retrieve a data set based on the specified SQL ID. The SQL ID is defined in the Data Access Layer implmenetation.

Specified by:
getData in interface DataManager
Parameters:
as_sql_id - The ID of a predefined SQL Select statement to execute.
Returns:
The retrieved data set.
Throws:
java.lang.Exception - If an error occurres.

getData

public java.util.Collection getData(java.lang.String as_sql_id,
                                    java.lang.Object ao_arguments)
                             throws java.lang.Exception
This method will retrieve a data set based on the specified SQL ID and arguments. The SQL ID is defined in the Data Access Layer implmenetation.

Specified by:
getData in interface DataManager
Parameters:
as_sql_id - The ID of a predefined SQL Select statement to execute.
ao_arguments - The arguments that will be passed to and used by the SQL Select statement. This argument can be null.
Returns:
The retrieved data set.
Throws:
java.lang.Exception - If an error occurres.

updateData

public void updateData(java.lang.String as_sql_id,
                       java.lang.Object ao_arguments)
                throws java.lang.Exception
This method will execute an update based on the specified SQL ID and arguments. The SQL ID is defined in the Data Access Layer implmenetation.

Specified by:
updateData in interface DataManager
Parameters:
as_sql_id - The ID of a predefined SQL Insert or Update statement to execute.
ao_arguments - The arguments that will be passed to and used by the SQL Insert or Update statement.
Throws:
java.lang.Exception - If an error occurres.

toXML

public org.w3c.dom.Document toXML(java.lang.String as_root_name,
                                  java.lang.String[] as_sql_ids,
                                  java.lang.String[] as_xml_tags,
                                  java.lang.Object ao_arguments)
                           throws java.lang.Exception
This method will take a list of SQL IDs to execute, convert the results to an XML document, and return the document. If the list of SQL IDs is null or empty the XML document is created with the specified root name with child elements built from the ao_argument parameter if it is a Map. the XML document that will be returned.

Specified by:
toXML in interface DataManager
Parameters:
as_root_name - The name that will be used as the root element in the XML document that will be returned.
as_sql_ids - The SQL IDs that are to be executed.
as_xml_tags - The corresponding XML tag names for the SQL IDs.
ao_arguments - A Java Bean or Map containing the arguments to the SQL Selects defined by as_sql_ids.
Returns:
An XML Document containing the data retrieved.
Throws:
java.lang.Exception - If an error occurres.

getData

public java.lang.Object getData(java.lang.String as_sql_id,
                                java.lang.Object ao_arguments,
                                com.ibatis.sqlmap.client.event.RowHandler ao_row_handler)
                         throws java.lang.Exception
This method will retrieve a data set based on the specified SQL ID and arguments. The SQL ID is defined in the Data Access Layer implmenetation.

Parameters:
as_sql_id - The ID of a predefined SQL Select statement to execute.
ao_arguments - The arguments that will be passed to and used by the SQL Select statement. This argument can be null.
ao_row_handler - An callback interface used to process each row of the result set.
Returns:
An object of any type.
Throws:
java.lang.Exception - If an error occurres.

getValueObjects

public ValueListResultContext getValueObjects(ValueListSearchContext ao_search_parms)
                                       throws ESLException
Retrieve a list of value objects based on the incoming search context.

Specified by:
getValueObjects in interface ValueListHandler
Parameters:
ao_search_parms - The ValueListSearchContext object.
Returns:
A ValueListResultContext object containing the list of results.
Throws:
ESLException - If any error occurs.
See Also:
ValueListHandler.getValueObjects(ValueListSearchContext)