You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2006/09/26 14:18:04 UTC

svn commit: r450016 - /db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/OJB.properties

Author: arminw
Date: Tue Sep 26 05:18:03 2006
New Revision: 450016

URL: http://svn.apache.org/viewvc?view=rev&rev=450016
Log:
add support for configurable collection implementation classes used for 1:n, m:n references and query results
resort configuration properties

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/OJB.properties

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/OJB.properties
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/OJB.properties?view=diff&rev=450016&r1=450015&r2=450016
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/OJB.properties (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/OJB.properties Tue Sep 26 05:18:03 2006
@@ -21,28 +21,6 @@
 # @version $Id$
 #
 #----------------------------------------------------------------------------------------
-# repository file settings
-#----------------------------------------------------------------------------------------
-# The repositoryFile entry tells OJB to use this file as as its standard mapping
-# repository. First OJB lookup the file as resource from classpath, second as ordinary file.
-repositoryFile=repository.xml
-#
-# If the useSerializedRepository entry is set to true, OJB tries to load a
-# serialized version of the repository for performance reasons.
-# if set to false, OJB always loads the xml file.
-# Setting this flag to true will accelerate the startup sequence of OJB.
-# If set to true changes to the repository.xml file will only be detected
-# after maually deleting the repository.xml.serialized file.
-useSerializedRepository=false
-#
-# If Repository serialization is used the entry serializedRepositoryPath defines the
-# directory where the Repository is written to and read from.
-# this entry is used only when the useSerializedRepository flag is set to true
-#
-serializedRepositoryPath=.
-#
-#
-#----------------------------------------------------------------------------------------
 # PersistenceBrokerFactory / PersistenceBroker
 #----------------------------------------------------------------------------------------
 # The PersistenceBrokerFactoryClass entry decides which concrete
@@ -69,7 +47,8 @@
 # and PB#delete(...) methods calls OJB check for active PB-tx and if no active tx is
 # found a error is logged. This can help to avoid store/delete calls without a running
 # PB-tx while development. Default setting is 'false'. (Note: When using OJB in a managed
-# environment *without* OJB-caching, it's valid to use store/delete calls without a running PB-tx)
+# environment *without* OJB-caching, it's valid to use store/delete calls without a running
+# PB-tx if the used PB instance was immediately closed after use)
 TxCheck=false
 #
 # This setting can be helpful during development to detect PersistenceBroker leaks
@@ -146,38 +125,24 @@
 # this default connection factory entry in each JDBCConnectionDescriptor.
 #
 ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl
-#ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryNotPooledImpl
 #ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl
+#ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryNotPooledImpl
 # Only needed when using OJB 1.0.3 or earlier in managed environments. Since version
 # 1.0.4 OJB detects datasources from managed environments automatically.
 #ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl
 #
 #
 #----------------------------------------------------------------------------------------
-# ConnectionManager
-#----------------------------------------------------------------------------------------
-# The ConnectionManagerClass entry defines the ConnectionManager implemementation to be used
-ConnectionManagerClass=org.apache.ojb.broker.accesslayer.ConnectionManagerImpl
-#
-#
-#----------------------------------------------------------------------------------------
-# SqlGenerator
-#----------------------------------------------------------------------------------------
-# The SqlGeneratorClass entry defines the SqlGenerator implemementation to be used
-SqlGeneratorClass=org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl
-#
-#
-#----------------------------------------------------------------------------------------
 # ProxyFactory and IndirectionHandler
 #----------------------------------------------------------------------------------------
 # The ProxyFactoryClass entry defines which ProxyFactory implementation is to be used.
-# By default, a 1.0 compatiable, JDK-based version is used. However, a the CGLIB based entry 
+# By default, a 1.0 compatiable, JDK-based version is used. However, a the CGLIB based entry
 # is available.
 #
 #	- ProxyFactoryCGLIBImpl: Refernece proxies are generated using bytecode manipulation
 #			from the CGLIB library. Any class can become a dynamic proxy, and not just ones
 #			that implement an interface.
-#   - ProxyFactoryJDKImpl: OJB 1.0 compatiable Proxy implementation. Proxies in this method 
+#   - ProxyFactoryJDKImpl: OJB 1.0 compatiable Proxy implementation. Proxies in this method
 #			can only be generated from classes that implement an interface, and the generated
 #			Proxy will implement all methods of that interface.
 #
@@ -220,43 +185,6 @@
 #
 CollectionProxyClass=org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl
 #
-#----------------------------------------------------------------------------------------
-# StatementManager
-#----------------------------------------------------------------------------------------
-# The StatementManagerClass entry defines the StatementManager implemementation to be used
-StatementManagerClass=org.apache.ojb.broker.accesslayer.StatementManager
-#
-#
-#----------------------------------------------------------------------------------------
-# StatementsForClass
-#----------------------------------------------------------------------------------------
-# The StatementsForClassClass entry defines the StatementsForClass implemementation to be used
-# to implement cached statements.
-StatementsForClassClass=org.apache.ojb.broker.accesslayer.StatementsForClassImpl
-#
-#
-#----------------------------------------------------------------------------------------
-# JdbcAccess
-#----------------------------------------------------------------------------------------
-# The JdbcAccessClass entry defines the JdbcAccess implemementation to be used
-JdbcAccessClass=org.apache.ojb.broker.accesslayer.JdbcAccessImpl
-#
-#
-#----------------------------------------------------------------------------------------
-# RowReader
-#----------------------------------------------------------------------------------------
-# Set the standard RowReader implementation. It is also possible to specify the
-# RowReader on class-descriptor level.
-RowReaderDefaultClass=org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl
-#
-#
-#----------------------------------------------------------------------------------------
-# IdentityFactory
-#----------------------------------------------------------------------------------------
-# Specify implementation class for object identity creation, defined by
-# org.apache.ojb.broker.IdenityFactory.
-IdentityFactoryClass=org.apache.ojb.broker.core.IdentityFactoryImpl
-#
 #
 #----------------------------------------------------------------------------------------
 # LobHelper
@@ -282,7 +210,7 @@
 #
 # This property is only relevant if the per class-descriptor object-cache
 # declaration was used in conjunction with metadata runtime changes.
-# If set 'flase' the class name of the object is used
+# If set 'false' the class name of the object is used
 # to find a per class ObjectCache implementation.
 # If set 'true' the ObjectCacheDescriptor instance is used as key to
 # find a per class ObjectCache, this enables to use different ObjectCache
@@ -340,6 +268,190 @@
 #
 #
 #----------------------------------------------------------------------------------------
+# ManageableCollection default settings
+#----------------------------------------------------------------------------------------
+# OJB use specific collection class implementations to provide 1:n and m:n references.
+# It's also possible to define specific collection classes for each defined 1:n or m:n
+# reference - please see documentation (repository mapping docs).
+#
+# Default collection classes for 1:n references
+CollectionTypes.OneToManyArray=org.apache.ojb.broker.util.collections.RemovalAwareCollection
+CollectionTypes.OneToManyCollection=org.apache.ojb.broker.util.collections.RemovalAwareCollection
+CollectionTypes.OneToManyList=org.apache.ojb.broker.util.collections.RemovalAwareList
+CollectionTypes.OneToManyVector=org.apache.ojb.broker.util.collections.RemovalAwareVector
+CollectionTypes.OneToManySet=org.apache.ojb.broker.util.collections.RemovalAwareSet
+#
+# Default collection classes for m:n references (never use a removal aware collection
+# implementation for m:n relation)
+CollectionTypes.ManyToManyArray=org.apache.ojb.broker.util.collections.ManageableArrayList
+CollectionTypes.ManyToManyCollection=org.apache.ojb.broker.util.collections.ManageableArrayList
+CollectionTypes.ManyToManyList=org.apache.ojb.broker.util.collections.ManageableArrayList
+CollectionTypes.ManyToManyVector=org.apache.ojb.broker.util.collections.ManageableVector
+CollectionTypes.ManyToManySet=org.apache.ojb.broker.util.collections.ManageableHashSet
+#
+# The Query/OQLQuery entries define the collection types returned
+# from Criteria-based queries/OQL-queries. By default this value is set to a List.
+# This will be good for most situations. If you need the additional features replace
+# the implementation.
+# Default collection classes query results
+CollectionTypes.Query=org.apache.ojb.broker.util.collections.ManageableArrayList
+CollectionTypes.OQLQuery=org.apache.ojb.broker.util.collections.ManageableArrayList
+#
+#
+#----------------------------------------------------------------------------------------
+# Meta data / mapping settings
+#----------------------------------------------------------------------------------------
+# The PersistentFieldClass property defines the implementation class
+# for PersistentField attributes used in the OJB MetaData layer.
+# By default the best performing attribute/refection based implementation
+# is selected (PersistentFieldDirectAccessImpl).
+#
+# - PersistentFieldDirectImpl
+#   is a high-speed version of the access strategies.
+#   It does not cooperate with an AccessController,
+#   but accesses the fields directly. Persistent
+#   attributes don't need getters and setters
+#   and don't have to be declared public or protected
+# - PersistentFieldCGLibImpl
+#   A very fast beans compliant (getter/setter access based) PersistentField
+#   implementation (it's three times faster than the direct field access via reflection).
+#   Needs public getter/setter for all declared fields.
+# - PersistentFieldPrivilegedImpl
+#   Same as above, but does cooperate with AccessController and do not
+#   suppress the java language access check (but is slow compared with direct access).
+# - PersistentFieldIntrospectorImpl
+#   uses JavaBeans compliant calls only to access persistent attributes.
+#   No Reflection is needed. But for each attribute xxx there must be
+#   public getXxx() and setXxx() methods.
+# - PersistentFieldDynaBeanAccessImpl
+#   implementation used to access a property from a
+#   org.apache.commons.beanutils.DynaBean.
+# - PersistentFieldAutoProxyImpl
+#   for each field determines upon first access how to access this particular field
+#   (cglib based, directly, as a bean, as a dyna bean) and then uses that strategy.
+#   The order of field access testing goes from the fastest to slowest, so you will always
+#   get the best performance.
+#
+PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldAutoProxyImpl
+#(DynaBean implementation does not support nested fields)
+#
+#
+# Allows to extend class RepositoryPersistor used to read and write (write is deprecated)
+# OJB's metadata.
+RepositoryPersistorClass=org.apache.ojb.broker.metadata.RepositoryPersistor
+#
+#
+#----------------------------------------------------------------------------------------
+# Transaction Management and assocation
+#----------------------------------------------------------------------------------------
+# (optional, only used when OJB runs within managed environments)
+# To praticipate in JTA transaction OJB needs access to the underlying transaction manager.
+# The TransactionManager is acquired in different ways dependent on the application server.
+# The JTATransactionManagerClass property allows you to specify the class that implements
+# the proper behaviour for finding the transaction manager. Only use when OJBTxManagerClass
+# is set to a factory that uses the application server transaction manager
+# (org.apache.ojb.odmg.JTATxManager)
+#
+# JBoss Transaction Manager Factory
+JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JBossTransactionManagerFactory
+# Weblogic Transaction Manager Factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.WeblogicTransactionManagerFactory
+# WebSphere transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.WebSphereTransactionManagerFactory
+# Orion transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.OrionTransactionManagerFactory
+# SunOne transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.SunOneTransactionManagerFactory
+# JOnAs transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JOnASTransactionManagerFactory
+# OC4J transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.OC4JTransactionManagerFactory
+# Resin transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.ResinTransactionManagerFactory
+# JRun transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JRunTransactionManagerFactory
+#
+#
+#----------------------------------------------------------------------------------------
+# repository file settings
+#----------------------------------------------------------------------------------------
+# The repositoryFile entry tells OJB to use this file as as its standard mapping
+# repository. First OJB lookup the file as resource from classpath, second as ordinary file.
+repositoryFile=repository.xml
+#
+# If the useSerializedRepository entry is set to true, OJB tries to load a
+# serialized version of the repository for performance reasons.
+# if set to false, OJB always loads the xml file.
+# Setting this flag to true will accelerate the startup sequence of OJB.
+# If set to true changes to the repository.xml file will only be detected
+# after maually deleting the repository.xml.serialized file.
+useSerializedRepository=false
+#
+# If Repository serialization is used the entry serializedRepositoryPath defines the
+# directory where the Repository is written to and read from.
+# this entry is used only when the useSerializedRepository flag is set to true
+#
+serializedRepositoryPath=.
+#
+#
+#----------------------------------------------------------------------------------------
+# ConnectionManager
+#----------------------------------------------------------------------------------------
+# The ConnectionManagerClass entry defines the ConnectionManager implemementation to be used
+ConnectionManagerClass=org.apache.ojb.broker.accesslayer.ConnectionManagerImpl
+#
+#
+#----------------------------------------------------------------------------------------
+# SqlGenerator
+#----------------------------------------------------------------------------------------
+# The SqlGeneratorClass entry defines the SqlGenerator implemementation to be used
+SqlGeneratorClass=org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl
+#
+#
+#----------------------------------------------------------------------------------------
+# StatementManager
+#----------------------------------------------------------------------------------------
+# The StatementManagerClass entry defines the StatementManager implemementation to be used
+StatementManagerClass=org.apache.ojb.broker.accesslayer.StatementManager
+#
+#
+#----------------------------------------------------------------------------------------
+# StatementsForClass
+#----------------------------------------------------------------------------------------
+# The StatementsForClassClass entry defines the StatementsForClass implemementation to be used
+# to implement cached statements.
+StatementsForClassClass=org.apache.ojb.broker.accesslayer.StatementsForClassImpl
+#
+#
+#----------------------------------------------------------------------------------------
+# JdbcAccess
+#----------------------------------------------------------------------------------------
+# The JdbcAccessClass entry defines the JdbcAccess implemementation to be used
+JdbcAccessClass=org.apache.ojb.broker.accesslayer.JdbcAccessImpl
+#
+#
+#----------------------------------------------------------------------------------------
+# RowReader
+#----------------------------------------------------------------------------------------
+# Set the standard RowReader implementation. It is also possible to specify the
+# RowReader on class-descriptor level.
+RowReaderDefaultClass=org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl
+#
+#
+#----------------------------------------------------------------------------------------
+# IdentityFactory
+#----------------------------------------------------------------------------------------
+# Specify implementation class for object identity creation, defined by
+# org.apache.ojb.broker.IdenityFactory.
+IdentityFactoryClass=org.apache.ojb.broker.core.IdentityFactoryImpl
+#
+#
+#----------------------------------------------------------------------------------------
 # OQL / SQL settings
 #----------------------------------------------------------------------------------------
 # The OqlCollectionClass entry defines the collection type returned
@@ -352,7 +464,8 @@
 # Important note: the collections class to be used MUST implement the
 # interface 'org.apache.ojb.broker.ManageableCollection'.
 #
-OqlCollectionClass=org.apache.ojb.broker.util.collections.ManageableArrayList
+#DEPRECATED (use property 'CollectionTypes.OQLQuery' instead)
+# OqlCollectionClass=org.apache.ojb.broker.util.collections.ManageableArrayList
 # OqlCollectionClass=org.apache.ojb.odmg.collections.DListImpl
 # OqlCollectionClass=org.apache.ojb.broker.util.collections.ManageableVector
 #
@@ -442,54 +555,6 @@
 #
 #
 #----------------------------------------------------------------------------------------
-# Meta data / mapping settings
-#----------------------------------------------------------------------------------------
-# The PersistentFieldClass property defines the implementation class
-# for PersistentField attributes used in the OJB MetaData layer.
-# By default the best performing attribute/refection based implementation
-# is selected (PersistentFieldDirectAccessImpl).
-#
-# - PersistentFieldDirectImpl
-#   is a high-speed version of the access strategies.
-#   It does not cooperate with an AccessController,
-#   but accesses the fields directly. Persistent
-#   attributes don't need getters and setters
-#   and don't have to be declared public or protected
-# - PersistentFieldCGLibImpl
-#   A very fast beans compliant (getter/setter access based) PersistentField
-#   implementation (it's three times faster than the direct field access via reflection).
-#   Needs public getter/setter for all declared fields.
-# - PersistentFieldPrivilegedImpl
-#   Same as above, but does cooperate with AccessController and do not
-#   suppress the java language access check (but is slow compared with direct access).
-# - PersistentFieldIntrospectorImpl
-#   uses JavaBeans compliant calls only to access persistent attributes.
-#   No Reflection is needed. But for each attribute xxx there must be
-#   public getXxx() and setXxx() methods.
-# - PersistentFieldDynaBeanAccessImpl
-#   implementation used to access a property from a
-#   org.apache.commons.beanutils.DynaBean.
-# - PersistentFieldAutoProxyImpl
-#   for each field determines upon first access how to access this particular field
-#   (cglib based, directly, as a bean, as a dyna bean) and then uses that strategy.
-#   The order of field access testing goes from the fastest to slowest, so you will always
-#   get the best performance.
-#
-PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl
-#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldAutoProxyImpl
-#(DynaBean implementation does not support nested fields)
-#
-#
-# Allows to extend class RepositoryPersistor used to read and write (write is deprecated)
-# OJB's metadata.
-RepositoryPersistorClass=org.apache.ojb.broker.metadata.RepositoryPersistor
-#
-#
-#----------------------------------------------------------------------------------------
 # Component Intercepting for Profiling and Tracing
 #----------------------------------------------------------------------------------------
 # By enabling an InterceptorClass all OJB components will use
@@ -498,37 +563,6 @@
 # This is currently an experimental feature useful only for OJB kernel developers.
 #
 #InterceptorClass=org.apache.ojb.broker.util.interceptor.TracingInterceptor
-#
-#
-#----------------------------------------------------------------------------------------
-# Transaction Management and assocation
-#----------------------------------------------------------------------------------------
-# (optional, only used when OJB runs within managed environments)
-# To praticipate in JTA transaction OJB needs access to the underlying transaction manager.
-# The TransactionManager is acquired in different ways dependent on the application server.
-# The JTATransactionManagerClass property allows you to specify the class that implements
-# the proper behaviour for finding the transaction manager. Only use when OJBTxManagerClass
-# is set to a factory that uses the application server transaction manager
-# (org.apache.ojb.odmg.JTATxManager)
-#
-# JBoss Transaction Manager Factory
-JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JBossTransactionManagerFactory
-# Weblogic Transaction Manager Factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.WeblogicTransactionManagerFactory
-# WebSphere transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.WebSphereTransactionManagerFactory
-# Orion transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.OrionTransactionManagerFactory
-# SunOne transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.SunOneTransactionManagerFactory
-# JOnAs transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JOnASTransactionManagerFactory
-# OC4J transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.OC4JTransactionManagerFactory
-# Resin transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.ResinTransactionManagerFactory
-# JRun transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JRunTransactionManagerFactory
 #
 #
 #----------------------------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org