|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.softslate.commerce.daos.core.BaseDAOFactory com.softslate.commerce.daos.core.LegacyDAOFactory
public class LegacyDAOFactory
Factory class used to create and initialize instances of data access objects.
An instance of DAOFactory
is created in the Struts layer and
placed in the application scope. (See
BaseRequestProcessor
.) The
initialize
method is called; various settings affecting the
application's DataSource
are read; and a
DataSource
employing connection pooling is initialized. Next,
all of the application's SQL statements are read into memory from the
"sql.properties" files in the "/WEB-INF/classes/resources" directory.
The createDAO
method in this class uses the
settings
property to look up the fully-qualified class name of
the requested data access object. It then appends the value of the
databaseType
property to the class name and attempts to
instantiate that object. If that fails, it next appends "Basic" to the end of
the class name. If a class still cannot be found, the class name from the
database setting itself is used.
For example, if this factory's databaseType
is "MSSQL" and it
receives a request to create an instance of the system's
"customerDAOImplementer", and the database setting for
"customerDAOImplementer" is
com.softslate.commerce.daos.customer.CustomerDAO
, this
factory will try to instantiate the following objects in this order:
com.softslate.commerce.daos.customer.CustomerDAOMSSQL
com.softslate.commerce.daos.customer.CustomerDAOBasic
com.softslate.commerce.daos.customer.CustomerDAO
Immediately after instantiating the requested DAO, this factory passes its own properties to it so that the newly created object can use them to communicate with the rest of the application.
Field Summary | |
---|---|
private java.lang.String |
databaseDriver
The fully-qualified class name of the database driver used for the DataSource . |
private java.lang.String |
databasePassword
The password used for this factory's DataSource database
connection, if the built-in connection pooling is used. |
private java.lang.String |
databaseType
The type of database this factory connects to. |
private java.lang.String |
databaseURL
The URL used for this factory's DataSource database
connection, if the built-in connection pooling is used. |
private java.lang.String |
databaseUserName
The user name used for this factory's DataSource database
connection, if the built-in connection pooling is used. |
private javax.sql.DataSource |
dataSource
The application's DataSource used for persistent storage. |
private java.lang.String |
dataSourceName
The JNDI name for the application's DataSource , if one is
set up in the servlet container's configuration. |
static java.lang.String |
defaultSettingsLocation
The default location of the properties file containing settings for initializing this factory's DataSource . |
private java.lang.String |
jndiContext
The JNDI context for the application's DataSource , if one
is set up in the servlet container's configuration. |
(package private) static org.apache.commons.logging.Log |
log
|
private java.lang.String |
maxActive
The maximum number of active connections for the pool used by this factory's DataSource , if the built-in connection pooling
is used. |
private java.lang.String |
maxIdle
The maximum number of idle connections for the pool used by this factory's DataSource , if the built-in connection pooling
is used. |
private java.lang.String |
maxWait
The maximum time to wait for a connection to become available in milliseconds, before an exception is thrown. |
private java.lang.String |
paymentPrivateKeyFile
The full path to the file on the server where the private key is stored for key pair encryption. |
private java.lang.String |
paymentPublicKeyFile
The full path to the file on the server where the public key is stored for key pair (RSA) encryption. |
private java.lang.String |
removeAbandoned
If set to true, abandoned connections will be removed and recycled. |
private java.lang.String |
removeAbandonedTimeout
The number of seconds a connection is idle before it is considered abandoned. |
private Settings |
settings
Used to look up the Java class names for the various DAO's this factory creates. |
private java.util.Map |
sqlMap
A Map of SQL statements used by the application. |
private java.lang.String |
twoWayKeyFile
The full path to the file on the server where the key is stored for two way (DES) encryption. |
Fields inherited from class com.softslate.commerce.daos.core.BaseDAOFactory |
---|
moduleListString |
Constructor Summary | |
---|---|
LegacyDAOFactory()
|
Method Summary | |
---|---|
java.lang.Object |
createDAO(java.lang.String type)
Creates and initializes a data access object for use by the application. |
java.lang.Object |
createSettingsDAO()
Creates and initializes a settings bean data access object for use by the application. |
java.lang.String |
getDatabaseDriver()
|
java.lang.String |
getDatabasePassword()
|
java.lang.String |
getDatabaseType()
|
java.lang.String |
getDatabaseURL()
|
java.lang.String |
getDatabaseUserName()
|
javax.sql.DataSource |
getDataSource()
|
java.lang.String |
getDataSourceName()
|
java.lang.String |
getJndiContext()
|
javax.sql.DataSource |
getJndiDataSource()
Looks up a DataSource object in a JNDI context. |
java.lang.String |
getMaxActive()
|
java.lang.String |
getMaxIdle()
|
java.lang.String |
getMaxWait()
|
java.lang.String |
getPaymentPrivateKeyFile()
|
java.lang.String |
getPaymentPublicKeyFile()
|
javax.sql.DataSource |
getPooledDataSource()
Creates a connection pool using various properties defined in this factory. |
java.lang.String |
getRemoveAbandoned()
|
java.lang.String |
getRemoveAbandonedTimeout()
|
Settings |
getSettings()
Retrieves this factory's Settings instance. |
java.util.Map |
getSqlMap()
|
java.util.Map |
getTransferMap()
Retrieves a Map of properties that will be transfered to
each of the data access objects this factory creates. |
java.lang.String |
getTwoWayKeyFile()
|
void |
initialize()
Initializes this DAOFactory . |
void |
initialize(java.lang.String settingsLocation)
Initializes this DAOFactory using the settings defined in
the file located at the imcoming settingLocation . |
void |
initializeDataSource()
Initializes this factory's dataSource property. |
void |
initializeSettings(java.lang.String settingsLocation)
Loads database settings from a properties file into the properties of this DAOFactory . |
void |
initializeSQLProperties()
Reads in the application's SQL statements into this factory's sqlMap . |
void |
setDatabaseDriver(java.lang.String databaseDriver)
|
void |
setDatabasePassword(java.lang.String databasePassword)
|
void |
setDatabaseType(java.lang.String databaseType)
|
void |
setDatabaseURL(java.lang.String databaseURL)
|
void |
setDatabaseUserName(java.lang.String databaseUserName)
|
void |
setDataSource(javax.sql.DataSource dataSource)
|
void |
setDataSourceName(java.lang.String dataSourceName)
|
void |
setJndiContext(java.lang.String jndiContext)
|
void |
setMaxActive(java.lang.String maxActive)
|
void |
setMaxIdle(java.lang.String maxIdle)
|
void |
setMaxWait(java.lang.String maxWait)
|
void |
setPaymentPrivateKeyFile(java.lang.String paymentPrivateKeyFile)
|
void |
setPaymentPublicKeyFile(java.lang.String paymentPublicKeyFile)
|
void |
setRemoveAbandoned(java.lang.String removeAbandoned)
|
void |
setRemoveAbandonedTimeout(java.lang.String removeAbandonedTimeout)
|
void |
setSettings(Settings settings)
|
void |
setSqlMap(java.util.Map sqlMap)
|
void |
setTwoWayKeyFile(java.lang.String twoWayKeyFile)
|
Methods inherited from class com.softslate.commerce.daos.core.BaseDAOFactory |
---|
beginTransaction, closeSession, commitTransaction, createDAOFromClassName, evictCache, getAppComponents, getAppSettings, getHibernateSettings, getModuleList, getModuleListString, getProperties, getSession, getSessionFactory, loadProperties, loadProperties, rollbackTransaction, setAppComponents, setAppSettings, setHibernateSettings, setModuleList, setModuleListString, setSessionFactory, startSession |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.softslate.commerce.daos.core.DAOFactory |
---|
beginTransaction, closeSession, commitTransaction, createDAOFromClassName, evictCache, getAppComponents, getAppSettings, getHibernateSettings, getModuleList, getModuleListString, getSession, getSessionFactory, rollbackTransaction, setAppComponents, setAppSettings, setHibernateSettings, setModuleList, setModuleListString, setSessionFactory, startSession |
Field Detail |
---|
static org.apache.commons.logging.Log log
public static final java.lang.String defaultSettingsLocation
DataSource
.
private java.util.Map sqlMap
Map
of SQL statements used by the application.
private javax.sql.DataSource dataSource
DataSource
used for persistent storage.
private java.lang.String dataSourceName
DataSource
, if one is
set up in the servlet container's configuration. (For example, in
server.xml for Tomcat.)
private java.lang.String jndiContext
DataSource
, if one
is set up in the servlet container's configuration. (For example, in
server.xml for Tomcat.)
private java.lang.String databaseDriver
DataSource
.
private java.lang.String databaseURL
DataSource
database
connection, if the built-in connection pooling is used. This factory will
use its own connection pooling if it fails to connect using the JNDI
dataSourceName
and jndiContext
settings.
private java.lang.String databaseUserName
DataSource
database
connection, if the built-in connection pooling is used. This factory will
use its own connection pooling if it fails to connect using the JNDI
dataSourceName
and jndiContext
settings.
private java.lang.String databasePassword
DataSource
database
connection, if the built-in connection pooling is used. This factory will
use its own connection pooling if it fails to connect using the JNDI
dataSourceName
and jndiContext
settings.
private java.lang.String databaseType
private java.lang.String maxIdle
DataSource
, if the built-in connection pooling
is used. This factory will use its own connection pooling if it fails to
connect using the JNDI dataSourceName
and
jndiContext
settings.
private java.lang.String maxActive
DataSource
, if the built-in connection pooling
is used. This factory will use its own connection pooling if it fails to
connect using the JNDI dataSourceName
and
jndiContext
settings.
private java.lang.String maxWait
DataSource
, if the built-in connection pooling is used.
This factory will use its own connection pooling if it fails to connect
using the JNDI dataSourceName
and jndiContext
settings.
private java.lang.String removeAbandoned
DataSource
, if the built-in connection
pooling is used. This factory will use its own connection pooling if it
fails to connect using the JNDI dataSourceName
and
jndiContext
settings.
private java.lang.String removeAbandonedTimeout
DataSource
, if the
built-in connection pooling is used. This factory will use its own
connection pooling if it fails to connect using the JNDI
dataSourceName
and jndiContext
settings.
private java.lang.String paymentPrivateKeyFile
private java.lang.String paymentPublicKeyFile
private java.lang.String twoWayKeyFile
private Settings settings
Constructor Detail |
---|
public LegacyDAOFactory()
Method Detail |
---|
public java.util.Map getSqlMap()
getSqlMap
in interface DAOFactory
getSqlMap
in class BaseDAOFactory
public void setSqlMap(java.util.Map sqlMap)
setSqlMap
in class BaseDAOFactory
public javax.sql.DataSource getDataSource()
getDataSource
in interface DAOFactory
getDataSource
in class BaseDAOFactory
public void setDataSource(javax.sql.DataSource dataSource)
setDataSource
in interface DAOFactory
setDataSource
in class BaseDAOFactory
public java.lang.String getDataSourceName()
getDataSourceName
in interface DAOFactory
getDataSourceName
in class BaseDAOFactory
public void setDataSourceName(java.lang.String dataSourceName)
setDataSourceName
in interface DAOFactory
setDataSourceName
in class BaseDAOFactory
public java.lang.String getJndiContext()
getJndiContext
in interface DAOFactory
getJndiContext
in class BaseDAOFactory
public void setJndiContext(java.lang.String jndiContext)
setJndiContext
in interface DAOFactory
setJndiContext
in class BaseDAOFactory
public java.lang.String getDatabaseDriver()
getDatabaseDriver
in interface DAOFactory
getDatabaseDriver
in class BaseDAOFactory
public void setDatabaseDriver(java.lang.String databaseDriver)
setDatabaseDriver
in interface DAOFactory
setDatabaseDriver
in class BaseDAOFactory
public java.lang.String getDatabaseURL()
getDatabaseURL
in interface DAOFactory
getDatabaseURL
in class BaseDAOFactory
public void setDatabaseURL(java.lang.String databaseURL)
setDatabaseURL
in interface DAOFactory
setDatabaseURL
in class BaseDAOFactory
public java.lang.String getDatabaseUserName()
getDatabaseUserName
in interface DAOFactory
getDatabaseUserName
in class BaseDAOFactory
public void setDatabaseUserName(java.lang.String databaseUserName)
setDatabaseUserName
in interface DAOFactory
setDatabaseUserName
in class BaseDAOFactory
public java.lang.String getDatabasePassword()
getDatabasePassword
in interface DAOFactory
getDatabasePassword
in class BaseDAOFactory
public void setDatabasePassword(java.lang.String databasePassword)
setDatabasePassword
in interface DAOFactory
setDatabasePassword
in class BaseDAOFactory
public java.lang.String getDatabaseType()
getDatabaseType
in interface DAOFactory
getDatabaseType
in class BaseDAOFactory
public void setDatabaseType(java.lang.String databaseType)
setDatabaseType
in interface DAOFactory
setDatabaseType
in class BaseDAOFactory
public java.lang.String getMaxIdle()
getMaxIdle
in interface DAOFactory
getMaxIdle
in class BaseDAOFactory
public void setMaxIdle(java.lang.String maxIdle)
setMaxIdle
in interface DAOFactory
setMaxIdle
in class BaseDAOFactory
public java.lang.String getMaxActive()
getMaxActive
in interface DAOFactory
getMaxActive
in class BaseDAOFactory
public void setMaxActive(java.lang.String maxActive)
setMaxActive
in interface DAOFactory
setMaxActive
in class BaseDAOFactory
public java.lang.String getMaxWait()
getMaxWait
in interface DAOFactory
getMaxWait
in class BaseDAOFactory
public void setMaxWait(java.lang.String maxWait)
setMaxWait
in interface DAOFactory
setMaxWait
in class BaseDAOFactory
public java.lang.String getRemoveAbandoned()
getRemoveAbandoned
in interface DAOFactory
getRemoveAbandoned
in class BaseDAOFactory
public void setRemoveAbandoned(java.lang.String removeAbandoned)
setRemoveAbandoned
in interface DAOFactory
setRemoveAbandoned
in class BaseDAOFactory
public java.lang.String getRemoveAbandonedTimeout()
getRemoveAbandonedTimeout
in interface DAOFactory
getRemoveAbandonedTimeout
in class BaseDAOFactory
public void setRemoveAbandonedTimeout(java.lang.String removeAbandonedTimeout)
setRemoveAbandonedTimeout
in interface DAOFactory
setRemoveAbandonedTimeout
in class BaseDAOFactory
public java.lang.String getPaymentPrivateKeyFile()
getPaymentPrivateKeyFile
in interface DAOFactory
getPaymentPrivateKeyFile
in class BaseDAOFactory
public void setPaymentPrivateKeyFile(java.lang.String paymentPrivateKeyFile)
setPaymentPrivateKeyFile
in interface DAOFactory
setPaymentPrivateKeyFile
in class BaseDAOFactory
public java.lang.String getPaymentPublicKeyFile()
getPaymentPublicKeyFile
in interface DAOFactory
getPaymentPublicKeyFile
in class BaseDAOFactory
public void setPaymentPublicKeyFile(java.lang.String paymentPublicKeyFile)
setPaymentPublicKeyFile
in interface DAOFactory
setPaymentPublicKeyFile
in class BaseDAOFactory
public java.lang.String getTwoWayKeyFile()
getTwoWayKeyFile
in interface DAOFactory
getTwoWayKeyFile
in class BaseDAOFactory
public void setTwoWayKeyFile(java.lang.String twoWayKeyFile)
setTwoWayKeyFile
in interface DAOFactory
setTwoWayKeyFile
in class BaseDAOFactory
public Settings getSettings()
DAOFactory
Settings
instance. The current
Settings
, containing various settings to be used by DAOs
created by this factory. This factory will pass the Settings
to every object it creates.
getSettings
in interface DAOFactory
getSettings
in class BaseDAOFactory
public void setSettings(Settings settings)
setSettings
in interface DAOFactory
setSettings
in class BaseDAOFactory
public void initialize() throws java.lang.Exception
DAOFactory
. Called by
BaseRequestProcessor
.
initialize
in interface DAOFactory
initialize
in class BaseDAOFactory
java.lang.Exception
public void initialize(java.lang.String settingsLocation) throws java.lang.Exception
DAOFactory
using the settings defined in
the file located at the imcoming settingLocation
.
initialize
in interface DAOFactory
initialize
in class BaseDAOFactory
settingsLocation
- The location of a file containing database settings.
java.lang.Exception
public void initializeSQLProperties() throws java.lang.Exception
sqlMap
. Loops through each of the active modules defined
in the moduleList
property and reads in the SQL
properities from the files in "/WEB-INF/classes/resources.
initializeSQLProperties
in interface DAOFactory
initializeSQLProperties
in class BaseDAOFactory
java.lang.Exception
public void initializeSettings(java.lang.String settingsLocation)
DAOFactory
.
initializeSettings
in class BaseDAOFactory
settingsLocation
- The location of a file containing database settings.public void initializeDataSource() throws java.lang.Exception
dataSource
property. This
method first attempts to establish a DataSource
based on a
JNDI data source name and context defined in the JNDI environment, using
the datasourceName
and jndiContext
properties. If this fails, it will create it's own connection pool using
the various other properties defined in this factory, including the
databaseURL
,databaseUserName
, and
databasePassword
properties.
initializeDataSource
in interface DAOFactory
initializeDataSource
in class BaseDAOFactory
java.lang.Exception
public javax.sql.DataSource getJndiDataSource() throws java.lang.Exception
DataSource
object in a JNDI context. Attempts
to establish a DataSource
based on a JNDI data source name
and context defined in the JNDI environment, using the
datasourceName
and jndiContext
properties.
getJndiDataSource
in interface DAOFactory
getJndiDataSource
in class BaseDAOFactory
DataSource
object for the application.
java.lang.Exception
public javax.sql.DataSource getPooledDataSource() throws java.lang.Exception
DataSource
object tied to it.
getPooledDataSource
in class BaseDAOFactory
DataSource
object for the application.
java.lang.Exception
public java.util.Map getTransferMap()
Map
of properties that will be transfered to
each of the data access objects this factory creates.
getTransferMap
in class BaseDAOFactory
Map
of properties that will be transfered to
each of the data access objects this factory createspublic java.lang.Object createSettingsDAO() throws java.lang.Exception
createSettingsDAO
in interface DAOFactory
createSettingsDAO
in class BaseDAOFactory
null
if initialization failed.
java.lang.Exception
public java.lang.Object createDAO(java.lang.String type) throws java.lang.Exception
settings
property to look up the fully-qualified
class name of the requested data access object. It then appends the value
of the databaseType
property to the class name and
attempts to instantiate that object. If that fails, it next appends
"Basic" to the end of the class name. If a class still cannot be found,
the class name from the database setting itself is used.
For example, if this factory's databaseType
is "MSSQL" and
it receives a request to create an instance of the system's
"customerDAOImplementer", and the database setting for
"customerDAOImplementer" is
com.softslate.commerce.daos.customer.CustomerDAO
, this
factory will try to instantiate the following objects in this order:
com.softslate.commerce.daos.customer.CustomerDAOMSSQL
com.softslate.commerce.daos.customer.CustomerDAOBasic
com.softslate.commerce.daos.customer.CustomerDAO
Immediately after instantiating the requested DAO, this factory passes its own properties to it so that the newly created object can use them to communicate with the rest of the application.
createDAO
in interface DAOFactory
createDAO
in class BaseDAOFactory
type
- A String
associated with the class name of the
data access object to be created.
null
if initialization failed.
java.lang.Exception
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |