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 2007/03/31 01:08:37 UTC

svn commit: r524312 [2/2] - /db/ojb/trunk/src/config/

Added: db/ojb/trunk/src/config/repository.dtd
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository.dtd?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository.dtd (added)
+++ db/ojb/trunk/src/config/repository.dtd Fri Mar 30 16:08:35 2007
@@ -0,0 +1,1061 @@
+<!-- @version $Id: $ -->
+<!--
+#/* Copyright 2004 Apache Software Foundation
+# *
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *     http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# */
+-->
+<!--
+  ObJectRelationalBridge - Bridging Java objects and relational dabatases
+  This DTD describes the grammar of the Descriptor repository
+  -->
+
+<!--
+  The descriptor-repository is the root element of a repository.xml file.
+  It consists of one jdbc-connection-descriptor and at least one
+  class-descriptor element.
+
+  The attribute element allows to add custom attributes.
+
+  The jdbc-connection-descriptor element specifies the default jdbc
+  connection for the repository.
+
+  class-descriptor elements specify o/r mapping information for
+  persistent classes.
+  -->
+<!ELEMENT descriptor-repository (documentation?, attribute*,
+        jdbc-connection-descriptor*, class-descriptor*)>
+
+<!--
+  The version attribute is used to bind a repository.xml
+  file to a given version of this dtd. This will help to
+  avoid versions conflicts.
+  
+  The isolation-level attribute defines the default locking isolation level used
+  by OJB's pessimistic locking api. All jdbc-connection-descriptor or class-descriptor
+  that do not define a specific isolation level will use this.
+  Note: This does NOT touch the jdbc-level of the connection.
+
+    The state-detection attribute is used by API's supporting automatic state detection
+	of persistence capable objects. The attribute indicate whether or not mapped classes should
+	be included in object state detection (automatic detection of changed object fields).
+  -->
+<!ATTLIST descriptor-repository
+  version (1.1) #REQUIRED
+  isolation-level (read-uncommitted | read-committed | repeatable-read |
+	                 serializable | optimistic | none) "read-uncommitted"
+  proxy-prefetching-limit CDATA "50"
+	state-detection (true | false) "true"
+>
+
+<!--
+  The documentation element can be used to store arbitrary
+  information on all repository entries.
+-->
+<!ELEMENT documentation (#PCDATA)>
+
+<!--
+  The attribute element allows to add custom attributes.
+
+  The jdbc-connection-descriptor element specifies the a jdbc
+  connection for the repository.
+
+  The object-cache element specifies the object-cache implementation
+  class associated with this class.
+
+  A connection-factory element may be used to define connection pool
+  properties for the specified JDBC connection.
+
+  A sequence-manager element may be used to
+  define which sequence manager implementation should be used within
+  the defined connection.
+  -->
+<!ELEMENT jdbc-connection-descriptor (documentation?, connection-factory?,
+            batch?, object-cache?, sequence-manager?, attribute*)>
+
+<!--
+  The jcdAlias attribute is a shortcut name for the defined connection
+    descriptor. OJB use jcdAlias as key for the defined connections.
+  
+  The default-connection attribute used to define if this connection
+  should used as default connection with OJB. You could define only
+  one connection as default connection. It is also possible to set
+    the default connection at runtime using
+  PersistenceBrokerFactory#setDefaultKey(...) method.
+  If set to 'true' you can use on PB-api a shortcut-method of the
+  PersistenceBrokerFactory to lookup a PersistenceBroker instances.
+  
+  The platform attribute is used to define the specific RDBMS
+  Platform. This attribute corresponds to a
+  org.apache.ojb.broker.platforms.PlatformXXXImpl class.
+
+  The jdbc-level attribute is used to specify the Jdbc compliance
+  level of the used Jdbc driver.
+  
+  The batch-mode attribute allow to enable JDBC connection batch support
+  (if supported by used database), 'true' value allows to enable per-session
+  batch mode, whereas 'false' prohibits it.
+  PB.serviceConnectionManager.setBatchMode(...) method can be used
+  to switch on/off batch modus, if batch-mode was enabled. On PB.close()
+  OJB switch off batch modus, thus you have to do '...setBatchMode(true)' on each
+  obtained PB instance.
+  
+    The useAutoCommit attribute allow to set how OJB uses
+  the autoCommit state of the used connections. The default mode
+    was 1.
+    0 - OJB ignores the autoCommit setting of the connection and do not
+        try to change it. This mode could be helpfully if the
+        connection don't let you set the autoCommit state
+        (e.g. using datasources from application server).
+    1 - [default mode] set the connection's autoCommit state temporary to 'false' if needed
+        (when using transaction) and restore the old state after use. In
+        versions before OJB 1.0.4 the autoCommit state was explicit set 'true'
+        when connection was created, now OJB expect that this was done by
+        the jdbc-driver configuration. To enable old behavior set a custom attribute
+        'initializationCheck' to 'true'.
+    2 - this setting set autoCommit explicit 'false' when connection was created.
+  
+    If the ignoreAutoCommitExceptions attribute is set 'true', all
+  exceptions caused by setting autocommit state, will be ignored.
+  Default mode 'false'.
+
+  If a jndi-datasource-name for JNDI based lookup of Jdbc
+  connections is specified, the four attributes driver, protocol,
+  subprotocol, dbalias used for Jdbc DriverManager based construction
+  of Jdbc Connections must not be declared.
+  
+  The username and password attributes are used as credentials
+  for obtaining a jdbc connections.
+  If users don't want to keep this information the
+  repository.xml file, they could pass user/password
+    using PBKey.java to obtain a PersistenceBroker
+  -->
+<!ATTLIST jdbc-connection-descriptor
+  jcd-alias CDATA #REQUIRED
+  default-connection (true | false) "false"
+  platform (Db2 | Hsqldb | Informix | MsAccess | MsSQLServer |
+            MySQL | Oracle | PostgreSQL | Sybase | SybaseASE |
+            SybaseASA | Sapdb | Firebird | Axion |
+            Oracle9i | MaxDB | Derby) "Hsqldb"
+  jdbc-level (1.0 | 2.0 | 3.0) "2.0"
+  batch-mode (true | false) "false"
+  useAutoCommit (0 | 1 | 2) "1"
+  ignoreAutoCommitExceptions (true | false) "false"
+
+  jndi-datasource-name CDATA #IMPLIED
+
+  driver CDATA #IMPLIED
+  protocol CDATA #IMPLIED
+  subprotocol CDATA #IMPLIED
+  dbalias CDATA #IMPLIED
+
+  username CDATA #IMPLIED
+  password CDATA #IMPLIED
+>
+
+
+<!--
+  The object-cache element can be used to specify the ObjectCache
+  implementation used by OJB. There are three levels of
+  declaration:
+    1. in OJB.properties file, to declare the standard (default)
+    ObjectCache implementation.
+    2. on jdbc-connection-descriptor level, to declare ObjectCache implementation
+    on a per connection/user level
+    3. on class-descriptor level, to declare ObjectCache implementation
+    on a per class level
+  
+  The priority of the declared object-cache elements are:
+  per class > per jdbc descriptor > standard
+  
+  E.g. if you declare ObjectCache 'cacheDef' as standard, set
+  ObjectCache 'cacheA' in class-descriptor for class A and class B
+  does not declare an object-cache element. Then OJB use cacheA as ObjectCache
+  for class A and cacheDef for class B
+-->
+<!ELEMENT object-cache (documentation?, attribute*)>
+
+<!--
+  Attribute 'class' specifies the full qualified class name of
+  the used ObjectCache implementation.
+-->
+<!ATTLIST object-cache
+  class                          CDATA #IMPLIED
+  strategy                       CDATA #IMPLIED
+  timeout                        CDATA #IMPLIED
+>
+
+<!--
+  The batch element specifies the used batch manger and -strategy.
+-->
+<!ELEMENT batch (documentation?, attribute*)>
+
+<!--
+  The 'class' attribute specifies the full qualified class name of
+  the used BatchManager implementation.
+
+  The 'strategy' attribute specifies the full qualified class name of
+  the used BatchStrategy implementation.
+
+  The 'limit' attribute specifies the maximum allowed number of
+  batch entries. If the maximum is reached all batch statements
+  will be executed.
+
+  The 'validator' attribute specifies the class used to validate
+  the batch statement execution return value array.
+-->
+<!ATTLIST batch
+  class                          CDATA #IMPLIED
+  strategy                       CDATA #IMPLIED
+  limit                          CDATA #IMPLIED
+  validator                      CDATA #IMPLIED
+>
+
+<!--
+  The connection-factory element specifies the connection factory used
+  to manage the connections.
+-->
+<!ELEMENT connection-factory (documentation?, attribute*)>
+
+
+<!--
+  The 'class' attribute specifies the full qualified class name of
+  the used ConnectionFactory implementation.
+
+  validationQuery
+  Here you could specify a validation query used by pool to test a
+  obtained connection (e.g. "select 1 from dual"), else a default query was
+  used - if defined in the platform class for your database.
+-->
+<!ATTLIST connection-factory
+  class                          CDATA #IMPLIED
+  validationQuery                CDATA #IMPLIED
+>
+
+
+
+<!--
+  The sequence-manager element specifies the sequence
+  manager implementation used for key generation. All
+  sequence manager implementations shipped with OJB
+  you will find under org.apache.ojb.broker.util.sequence
+  If no sequence-manager is defined, OJB use a default one.
+  For configuration examples please consult documentation.
+
+  Use the attribute element to pass implementation specific
+  properties. This depends on the used implementation class.
+-->
+<!ELEMENT sequence-manager (documentation?, attribute*)>
+
+<!--
+  The 'class' attribute specifies the full qualified class name
+  of the desired sequence manager implementation - it is mandatory
+  when using the sequence-manager element.
+  All sequence manager implementations you find will under
+  org.apache.ojb.broker.util.sequence package named as SequenceManagerXXXImpl.
+  For configuration examples please consult documentation.
+-->
+<!ATTLIST sequence-manager
+  class                        CDATA #IMPLIED
+>
+
+
+
+<!--
+  For interfaces or abstract classes a class-descriptor holds a sequence of
+  extent-class elements.
+
+  For concrete classes it must have field-descriptors that describe primitive
+  typed instance variables.
+  References to other persistent entity classes are specified by
+  reference-descriptor elements.
+  Collections or arrays attributes that contain other persistent entity
+  classes are specified by collection-descriptor elements
+
+  Concrete base classes, may specify a sequence of extent-class elements,
+  naming the derived classes.
+
+  A class-descriptor may contain user defined custom attribute elements.
+
+  The insert-procedure, update-procedure and delete-procedure elements
+  identify the procedure/function that is defined in the database which
+  will handle the insertion, update or deletion of an instance of this
+  class.  These elements are all optional.  If they are absent then basic
+  sql statements (INSERT INTO xxx..., UPDATE xxx, DELETE FROM xxx) will
+  be utilized.
+  
+  The select-by-pk-procedure specifies the database procedure to be used
+  when objects of this class shall be retrieved by identity (i.e. by the
+  primary key values). Likewise, the select-by-fk-procedure is used for
+  retrieving objects of this class that based on foreignkey field values
+  in the object. This for instance is the case when fetching the elements
+  of a collection.
+  -->
+<!ELEMENT class-descriptor
+  ((documentation?, object-cache?, extent-class+, attribute*) |
+  (documentation?, object-cache?, extent-class*, creation-descriptor?, discriminator-descriptor?,
+   field-descriptor+, reference-descriptor*, collection-descriptor*,
+     index-descriptor*, insert-procedure?, update-procedure?, delete-procedure?,
+     select-by-pk-procedure?, select-by-fk-procedure?, attribute*))>
+
+
+<!--
+  The class attribute contains the full qualified name of the specified class.
+  As this attribute is of type ID there can only be one class-descriptor per
+  class.
+
+  The isolation-level attribute defines the locking isolation level of the
+  specified class (used by OJB's pessimistic locking api). Use attribute "global"
+  or "empty string ("or skip this attribute) to signal the use of the isolation-level
+  defined on "descriptor-repository" level.
+  Note: This does NOT touch the jdbc-level of the connection.
+
+  If the proxy attribute is set, proxies are used for all loading operations
+  of instances of this class. If set to "dynamic", dynamic proxies are used.
+  If set to another value this value is interpreted as the full-qualified
+  name of the proxy class to use.
+
+  If the proxy-prefetching-limit attribute (used with the proxy attribute)
+  is set to the value > 0, the collections of objects of this class are materialized
+  by groups of the specified size, say when user tries to access the first
+  object of the collection, next proxy-prefetching-limit objects are loaded
+  by one database query.
+  Set this parameter to 0 if you want to turn this feature off.
+
+  The schema attribute may contain the database schema owning the table
+  mapped to this class.
+
+  The table attribute specifies the table name this class is mapped to.
+
+  The row-reader attribute may contain a full qualified class name.
+  This class will be used as the RowReader implementation used to
+  materialize instances of the persistent class.
+
+  The extends attribute is deprecated and will be removed or reintroduced
+  with changed funcitonality in future. DON'T USE IT!
+
+  DEPRECATED. The accept-locks attribute specifies whether implicit locking should
+  propagate to this class.  Currently relevant for the ODMG layer only.
+
+  The optional initialization-method specifies a no-argument instance
+  method that is invoked after reading an instance from a database row.
+  It can be used to do initialization and validations.
+
+  The optional factory-class specifies a factory-class that
+  that is to be used instead of a no argument constructor.
+  If the factory-class is specified the factory-method
+  also must be defined.
+  factory-method refers to a static or instance no-argument method
+  of the factory-class class. If the method is not static, then
+  the factory class must have a default or no-arg constructor by
+  which it can be instantiated.
+
+  The refresh attribute can be set to true to force OJB to refresh
+  instances when loaded from cache. It's set to false by default.
+
+    The state-detection attribute is used by API's supporting automatic state detection
+	of persistence capable objects. The attribute indicate whether or not this class should
+	be included in object state detection (automatic detection of changed object fields).
+
+	The field-class attribute can be used to override the <code>PersistentField</code>
+    implementation class.
+
+  The 'batchable' attribute signal whether or not it is allowed to bunch this class
+  in a sql-batch. Note: Be aware of side-effects when mix batchable
+  and non batchable classes, e.g. class non batchable, reference batchable
+  - mixing is not allowed for all sorts of references. A non-batchable object
+  will immediately performed, other objects in batch will stand still.
+  -->
+<!ATTLIST class-descriptor
+  class ID #REQUIRED
+  isolation-level (read-uncommitted | read-committed | repeatable-read |
+                   serializable | optimistic | none) #IMPLIED
+  proxy CDATA #IMPLIED
+  proxy-prefetching-limit CDATA #IMPLIED
+  schema CDATA #IMPLIED
+  table CDATA #IMPLIED
+  row-reader CDATA #IMPLIED
+  extends IDREF #IMPLIED
+  accept-locks (true | false) "true"
+  initialization-method CDATA #IMPLIED
+  factory-class CDATA #IMPLIED
+  factory-method CDATA #IMPLIED
+  refresh (true | false) "false"
+  state-detection (true | false) "true"
+  field-class CDATA #IMPLIED
+  batchable (true | false) "true"
+>
+
+
+<!--
+  An extent-class element is used to specify an implementing class or a
+  derived class that belongs to the extent of all instances of the interface
+  or base class.
+  -->
+<!ELEMENT extent-class (documentation?)>
+<!--
+  The class-ref attribute must contain a fully qualified classname.
+  The repository file must contain a class-descriptor for this class.
+  -->
+<!ATTLIST extent-class
+  class-ref IDREF #REQUIRED
+>
+
+<!--
+  Describes how to create instances for the owning class descriptor.
+  -->
+<!ELEMENT creation-descriptor (documentation?, parameter*)>
+<!--
+  The type specifies whether the instances are created via constructors or a factory.
+
+  The factory-class attribute specifies a factory class that that is to be used for creation.
+  This attribute is ignored if the type is 'constructor'.
+
+  If the factory-class is specified, the factory-method attribute also must be defined which
+  specifies the instance or static method for creating the instance. If the method is a
+  non-static method, then the factory class must be creatable via a no-args or default constructor.
+  -->
+<!ATTLIST creation-descriptor
+  type (constructor | factory) #REQUIRED
+  factory-class CDATA #IMPLIED
+  factory-method CDATA #IMPLIED
+>
+
+<!--
+  Specifies a parameter for the constructor/factory method. Such a parameter either
+  refers to a field whose value is used as the argument, or a constant value which
+  must be convertible to the type of the parameter.
+  -->
+<!ELEMENT parameter EMPTY>
+<!--
+  field-ref specifies the field in the owning class descriptor that gives the value.
+
+  value specifies the constant value to be used as the argument.
+
+  type allows to specify the parameter type which helps OJB in determining the
+  constructor/method. For primitive types, simply state the type, eg. int or char[].
+  For reference type, specify the fully qualified type name, for instance
+  java.lang.Object or java.lang.String[][].
+  -->
+<!ATTLIST parameter
+  field-ref CDATA #IMPLIED
+  value CDATA #IMPLIED
+  type CDATA #IMPLIED
+>
+
+<!--
+  The discriminator is used to discriminate the classes when multiple classes
+  are mapped to the same table.
+  -->
+<!ELEMENT discriminator-descriptor (documentation?, attribute*)>
+<!--
+  The optional value attribute may be used to set a discriminator ie. 'my_class_a'.
+  The default for this attribute is the name of the class taken
+  from the class-descriptor ie 'com.myself.MyClassMappedToA'.
+  -->
+<!ATTLIST discriminator-descriptor
+  column CDATA #REQUIRED
+  jdbc-type (BIT | TINYINT | SMALLINT | INTEGER | BIGINT | DOUBLE |
+             FLOAT | REAL | NUMERIC | DECIMAL | CHAR | VARCHAR |
+             LONGVARCHAR | DATE | TIME | TIMESTAMP | BINARY |
+             VARBINARY | LONGVARBINARY | CLOB | BLOB | STRUCT |
+               ARRAY | REF | BOOLEAN | DATALINK) #IMPLIED
+  value CDATA #IMPLIED
+  primarykey (true | false) "false"
+>
+
+<!--
+  A field descriptor contains mapping info for a primitive typed
+  attribute of a persistent class.
+
+  A field descriptor may contain a sequence-manager element to define
+  a specific sequence-manager only used by this field. If not set the
+  sequence-manager defined in the jdbc-connection-descriptor is used.
+
+  A field descriptor may contain custom attribute elements.
+  -->
+<!ELEMENT field-descriptor (documentation?, sequence-manager?, attribute*)>
+<!--
+  <b>The id attribute is optional.</b> If not specified, OJB internally
+  sorts field-descriptors according to their order of appearance in the
+  repository file.
+  If a different sort order is intended the id attribute may be used to
+  hold a unique number identifying the decriptors position in the sequence of
+  field-descriptors.
+  The order of the numbers for the field-descriptors must correspond to
+  the order of columns in the mapped table.
+
+  The name attribute holds the name of the persistent classes attribute.
+  If the PersistentFieldDefaultImpl is used there must be an attribute
+  in the persistent class with this name.
+  If the PersistentFieldPropertyImpl is used there must be a JavaBeans
+  compliant property of this name.
+
+  The table attribute may specify a table different from the mapped
+  table for the persistent class. (currently not implemented).
+
+  The column attribute specifies the column the persistent classes field
+  is mapped to.
+
+  The optional jdbc-type attribute specifies the JDBC type of the column.
+  If not specified OJB tries to identify the JDBC type by inspecting the
+  Java attribute by reflection.
+
+  The primarykey specifies if the column is a primary key column.
+
+  The nullable attribute specifies if the column may contain null values.
+
+  The indexed attribute specifies if there is an index on this column
+
+  The autoincrement attribute specifies if the values for the persistent
+  attribute are automatically generated by OJB.
+
+  The sequence-name attribute can be used to state explicitly a sequence
+  name used by the sequence manager implementations. Check the docs/javadocs
+  of the used sequence manager implementation to get information if this
+  is a mandatory attribute. OJB standard sequence manager implementations
+  build a sequence name by its own, if the attribute was not set.
+
+  The locking attribute is set to true if the persistent attribute is
+  used for optimistic locking. can only be set for TIMESTAMP and INTEGER
+  columns.
+
+  The update-lock attribute is set to false if the persistent attribute is
+  used for optimistic locking AND the dbms should update the lock column
+  itself. The default is true which means that when locking is true then
+  OJB will update the locking fields. Can only be set for TIMESTAMP and INTEGER
+  columns.
+
+  The default-fetch attribute specifies whether the persistent attribute
+  belongs to the JDO default fetch group.
+
+  The conversion attribute contains a fully qualified class name.
+  This class must implement the interface
+  org.apache.ojb.accesslayer.conversions.FieldConversion.
+  A FieldConversion can be used to implement conversions between Java-
+  attributes and database columns.
+
+	The null-check attribute contains a fully qualified class name.
+	This class must implement the interface
+	org.apache.ojb.broker.accesslayer.NullCheck.
+	A NullCheck can be used to implement special requirements for
+	the definitions of a field's 'null' value as Java representation.
+
+  The length attribute can be used to specify a length setting, if
+  required by the jdbc-type of the underlying database column.
+
+  The precision attribute can be used to specify a precision setting, if
+  required by the jdbc-type of the underlying database column.
+
+  The scale attribute can be used to specify a scale setting, if
+  required by the jdbc-type of the underlying database column.
+
+  The access attribute specifies the accessibility of the field.
+  "readonly" marks fields that are not to modified. "readwrite" marks
+  fields that may be read and written to. "anonymous" marks anonymous fields.
+  An anonymous field has a database representation (column) but no
+  corresponding Java attribute. Hence the name of such a field does not
+  refer to a Java attribute of the class, but is used as a unique
+  identifier only.
+
+	The state-detection attribute is used by API's supporting automatic state detection
+	of persistence capable objects. The attribute indicate whether or not this field should
+	be included in object state detection (automatic detection of changed object fields).
+	If in the <em>state-detection</em> is generally disabled or in the associated
+    class-descriptor, this setting will (normally) be ignored.
+
+    The field-class attribute can be used to override the <code>PersistentField</code>
+    implementation class.
+  -->
+<!ATTLIST field-descriptor
+  id CDATA #IMPLIED
+  name CDATA #REQUIRED
+  table CDATA #IMPLIED
+  column CDATA #REQUIRED
+  jdbc-type (BIT | TINYINT | SMALLINT | INTEGER | BIGINT | DOUBLE |
+             FLOAT | REAL | NUMERIC | DECIMAL | CHAR | VARCHAR |
+             LONGVARCHAR | DATE | TIME | TIMESTAMP | BINARY |
+             VARBINARY | LONGVARBINARY | CLOB | BLOB | STRUCT |
+               ARRAY | REF | BOOLEAN | DATALINK | JAVA_OBJECT) #IMPLIED
+  primarykey (true | false) "false"
+  nullable (true | false) "true"
+  indexed (true | false) "false"
+  autoincrement (true | false) "false"
+  sequence-name CDATA #IMPLIED
+  locking (true | false) "false"
+  update-lock (true | false) "true"
+  default-fetch (true | false) "false"
+  conversion CDATA #IMPLIED
+	null-check CDATA #IMPLIED
+  length CDATA #IMPLIED
+  precision CDATA #IMPLIED
+  scale CDATA #IMPLIED
+  access (readonly | readwrite | anonymous) "readwrite"
+	state-detection (true | false) "true"
+	field-class CDATA #IMPLIED
+>
+
+
+<!--
+  An attribute element allows arbitrary name/value pairs to
+  be represented in the repository.
+  -->
+<!ELEMENT attribute (documentation?)>
+
+<!--
+  The attribute-name identifies the name of the attribute.
+  The attribute-value identifies the value of the attribute.
+-->
+<!ATTLIST attribute
+  attribute-name CDATA #REQUIRED
+  attribute-value CDATA #REQUIRED
+>
+
+<!--
+  A reference-descriptor contains mapping info for an attribute of a
+  persistent class that is not primitive but references another
+  persistent entity Object.
+
+  A foreignkey element contains information on foreign key columns that
+  implement the association on the database level.
+
+  A reference-decriptor may contain user defined attribute elements.
+  -->
+<!ELEMENT reference-descriptor (documentation?, foreignkey+, attribute*)>
+
+<!--
+  The name attribute holds the name of the persistent classes attribute.
+  If the PersistentFieldDefaultImpl is used there must be an attribute
+  in the persistent class with this name.
+  If the PersistentFieldPropertyImpl is used there must be a JavaBeans
+  compliant property of this name.
+
+  The class-ref attribute contains a fully qualified class name.
+  This class is the Object type of the persistent reference attribute.
+  As this is an IDREF there must be a class-descriptor for this class
+  in the repository too.
+
+  The proxy attribute can be set to true to specify that proxy based
+  lazy loading should be used for this attribute.
+
+  If the proxy-prefetching-limit attribute (used with the proxy attribute)
+  is set to the value > 0, then loading of the reference for the first
+  object of some collection causes loading of the references for
+  the next proxy-prefetching-limit objects.
+  Set this parameter to 0 if you want to turn this feature off.
+
+  The refresh attribute can be set to true to force OJB to refresh
+  object references on instance loading.
+
+  The auto-retrieve attribute specifies whether OJB automatically retrieves
+  this reference attribute on loading the persistent object.
+  If set to false the reference attribute is set to null. In this case the
+  user is responsible to fill the reference attribute.
+
+  The auto-update attribute specifies whether OJB automatically stores
+  this reference attribute on storing the persistent object or not or only
+  link the reference.
+  This attribute must be set to 'false' if using the OTM or JDO layer.
+  For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+  The auto-delete attribute specifies whether OJB automatically deletes
+  this reference attribute on deleting the persistent object or not.
+  This attribute must be set to 'false' if using the OTM or JDO layer.
+  For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+  The otm-dependent attribute specifies whether the OTM layer automatically
+  creates the referred object or deletes it if the reference field is set to null.
+  Also otm-dependent references behave as if auto-update and auto-delete
+  were set to true, but the auto-update and auto-delete attributes themself
+  must be always set to false for use with OTM layer.
+
+  -->
+<!ATTLIST reference-descriptor
+  name CDATA #REQUIRED
+  class-ref IDREF #REQUIRED
+
+  proxy (true | false) "false"
+  proxy-prefetching-limit CDATA #IMPLIED
+  refresh (true | false) "false"
+
+  auto-retrieve (true | false) "true"
+  auto-update (none | link | object | true | false) "false"
+  auto-delete (none | link | object | true | false) "false"
+>
+
+<!--
+  A foreignkey element contains information on a foreign-key persistent
+  attribute that implement the association on the database level.
+  -->
+<!ELEMENT foreignkey (documentation?)>
+
+<!--
+  The field-id-ref contains the id attribute of the field-descriptor
+  used as a foreign key.
+  -->
+<!ATTLIST foreignkey
+  field-id-ref CDATA #IMPLIED
+  field-ref CDATA #IMPLIED
+  target-field-ref CDATA #IMPLIED  
+>
+
+
+<!--
+  A collection-descriptor contains mapping info for a Collection- or
+  Array-attribute of a  persistent class that contains persistent
+  entity Objects.
+
+  The inverse-foreignkey elements contains information on foreign-key
+  attributes that implement the association on the database level.
+
+  The fk-pointing-to-this-class and fk-pointing-to-element-class elements
+  are only needed if the Collection or array implements a m:n association.
+  In this case they contain information on the foreign-key columns of
+  the intermediary table.
+
+  A collection-descriptor may contain user defined attribute elements.
+  -->
+<!ELEMENT collection-descriptor (
+  documentation?,
+  orderby*,
+  inverse-foreignkey*,
+  fk-pointing-to-this-class*,
+  fk-pointing-to-element-class*,
+  query-customizer?,
+  attribute*)>
+
+
+<!--
+  The name attribute holds the name of the persistent classes attribute.
+  If the PersistentFieldDefaultImpl is used there must be an attribute
+  in the persistent class with this name.
+  If the PersistentFieldPropertyImpl is used there must be a JavaBeans
+  compliant property of this name.
+
+  The collection-class may hold a fully qualified class name.
+  This class must be the Java type of the Collection attribute.
+  This attribute must only specified if the attribute type is not
+  a java.util.Collection (or subclass) or Array type. The declared
+  (none java.util.Collection or non Array) class must implement
+  ManageableCollection to let OJB handle this type of collection.
+
+  The element-class-ref attribute contains a fully qualified class name.
+  This class is the Object type of the elements of persistent collection
+  or Array attribute.
+  As this is an IDREF there must be a class-descriptor for this class
+  in the repository too.
+
+	DEPRECATED, please use the 'orderby'-element. The orderby attribute may
+	specify a field of the element class.
+  The Collection or Array will be sorted according to the specified attribute.
+  The sort attribute may be used to specify ascending or descending order for
+  this operation.
+
+  The indirection-table must specify the name of an intermediary table,
+  if the persistent collection attribute implements a m:n association.
+
+  The proxy attribute can be set to true to specify that proxy based
+  lazy loading should be used for this attribute.
+
+  If the proxy-prefetching-limit attribute (used with the proxy attribute)
+  is set to the value > 0, then loading of the collection for the first
+  object of some other collection causes loading of the collections for
+  the next proxy-prefetching-limit objects.
+  Set this parameter to 0 if you want to turn this feature off.
+
+  The refresh attribute can be set to true to force OJB to refresh
+  object and collection references on instance loading.
+
+  The auto-retrieve attribute specifies whether OJB automatically retrieves
+  this attribute on loading the persistent object.
+  If set to false the persistent attribute is set to null. In this case the
+  user is responsible to fill the persistent attribute.
+
+  The auto-update attribute specifies whether OJB automatically stores
+  the referenced objects on storing the persistent object or not or only link.
+  This attribute must be set to 'false' if using the OTM or JDO layer.
+    Allowed ODMG settings please see OJB documentation.
+
+  The auto-delete attribute specifies whether OJB automatically deletes
+  the referenced objects on deleting the persistent object or not.
+  This attribute must be set to 'false' if using the OTM or JDO layer.
+    Allowed ODMG settings please see OJB documentation.
+
+  The otm-dependent attribute specifies whether the OTM layer automatically
+  creates collection elements that were included into the collectionelements
+  and deletes collection elements that were excluded from the collection.
+  Also otm-dependent references behave as if auto-update and auto-delete
+  were set to true, but the auto-update and auto-delete attributes themself
+  must be always set to false for use with OTM layer.
+
+
+  -->
+<!ATTLIST collection-descriptor
+  name CDATA #IMPLIED
+  collection-class CDATA #IMPLIED
+  element-class-ref IDREF #REQUIRED
+  orderby CDATA #IMPLIED
+  sort (ASC | DESC) "ASC"
+
+  indirection-table CDATA #IMPLIED
+
+  proxy (true | false) "false"
+  proxy-prefetching-limit CDATA #IMPLIED
+  refresh (true | false) "false"
+
+  auto-retrieve (true | false) "true"
+  auto-update (none | link | object | true | false) "false"
+  auto-delete (none | link | object | true | false) "false"
+>
+
+<!--
+  An orderby elemnent contains an attribute name and a sort order
+  -->
+<!ELEMENT orderby (documentation?)>
+<!ATTLIST orderby
+  name CDATA #REQUIRED
+  sort (ASC | DESC) "ASC"
+>
+
+<!--
+  A inverse-foreignkey element contains information on a foreign-key
+  persistent attribute that implement the association on the database level.
+  -->
+<!ELEMENT inverse-foreignkey (documentation?)>
+
+<!--
+  The field-id-ref contains the id attribute of the field-descriptor
+  in the class of the collection elements that is used as a foreign key.
+  -->
+<!ATTLIST inverse-foreignkey
+  field-id-ref CDATA #IMPLIED
+  field-ref CDATA #IMPLIED
+  target-field-ref CDATA #IMPLIED
+>
+
+<!--
+  A fk-pointing-to-this-class element contains information on a foreign-key
+  column of an intermediary table in a m:n scenario.
+  -->
+<!ELEMENT fk-pointing-to-this-class (documentation?)>
+
+<!--
+  The column attribute specifies the foreign-key column in the intermediary
+  table that points to the class holding the collection.
+  -->
+<!ATTLIST fk-pointing-to-this-class
+  column CDATA #REQUIRED
+>
+
+<!--
+  A fk-pointing-to-element-class element contains information on a foreign-key
+  column of an intermediary table in a m:n scenario.
+  -->
+<!ELEMENT fk-pointing-to-element-class (documentation?)>
+
+<!--
+  The column attribute specifies the foreign-key column in the intermediary
+  table that points to the class of the collection elements.
+  -->
+<!ATTLIST fk-pointing-to-element-class
+  column CDATA #REQUIRED
+>
+
+
+<!--
+  A queryEnhancer element to enhance the 1:n query
+  -->
+<!ELEMENT query-customizer (
+  documentation?,
+  attribute*)>
+<!ATTLIST query-customizer
+  class CDATA #REQUIRED
+>
+
+<!--
+  An index-descriptor describes an index by listing its columns.  It may be
+  unique or not.
+-->
+<!ELEMENT index-descriptor (documentation?, index-column+)>
+<!ATTLIST index-descriptor
+  name CDATA #REQUIRED
+  unique (true | false) "false">
+
+<!--
+  An index-column is just the name of a column in an index.
+-->
+<!ELEMENT index-column (documentation?)>
+<!ATTLIST index-column
+  name CDATA #REQUIRED>
+
+<!--
+  Identifies the procedure/function that should be used to handle
+  insertions for a specific class-descriptor.
+
+  The nested 'argument' elements define the argument list for the
+  procedure/function as well as the source for each argument.
+
+  The name attribute identifies the name of the procedure/function to use
+
+  The return-field-ref identifies the field-descriptor that will receive
+  the value that is returned by the procedure/function.  If the procedure/
+  function does not include a return value, then do not specify a value
+  for this attribute.
+
+  The include-all-fields attribute indicates if all field-descriptors in
+  the corresponding class-descriptor are to be passed to the procedure/
+  function.  If include-all-fields is 'true', any nested 'argument'
+  elements will be ignored.  In this case, values for all field-descriptors
+  will be passed to the procedure/function.  The order of values that are
+  passed to the procedure/function will match the order of field-descriptors
+  on the corresponding class-descriptor.  If include-all-fields is false,
+  then values will be passed to the procedure/function based on the
+  information in the nested 'argument' elements.
+-->
+<!ELEMENT insert-procedure
+  (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+<!ATTLIST insert-procedure
+  name CDATA #REQUIRED
+  return-field-ref CDATA #IMPLIED
+  include-all-fields (true | false) "false"
+>
+
+<!--
+  Identifies the procedure/function that should be used to handle
+  updates for a specific class-descriptor.
+
+  The nested 'argument' elements define the argument list for the
+  procedure/function as well as the source for each argument.
+
+  The name attribute identifies the name of the procedure/function to use
+
+  The return-field-ref identifies the field-descriptor that will receive
+  the value that is returned by the procedure/function.  If the procedure/
+  function does not include a return value, then do not specify a value
+  for this attribute.
+
+  The include-all-fields attribute indicates if all field-descriptors in
+  the corresponding class-descriptor are to be passed to the procedure/
+  function.  If include-all-fields is 'true', any nested 'argument'
+  elements will be ignored.  In this case, values for all field-descriptors
+  will be passed to the procedure/function.  The order of values that are
+  passed to the procedure/function will match the order of field-descriptors
+  on the corresponding class-descriptor.  If include-all-fields is false,
+  then values will be passed to the procedure/function based on the
+  information in the nested 'argument' elements.
+-->
+<!ELEMENT update-procedure
+  (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+<!ATTLIST update-procedure
+  name CDATA #REQUIRED
+  return-field-ref CDATA #IMPLIED
+  include-all-fields (true | false) "false"
+>
+
+<!--
+  Identifies the procedure/function that should be used to handle
+  deletions for a specific class-descriptor.
+
+  The nested 'runtime-argument' and 'constant-argument' elements define
+  the argument list for the procedure/function as well as the source
+  for each argument.
+
+  The name attribute identifies the name of the procedure/function to use
+
+  The return-field-ref identifies the field-descriptor that will receive
+  the value that is returned by the procedure/function.  If the procedure/
+  function does not include a return value, then do not specify a value
+  for this attribute.
+
+  The include-pk-only attribute indicates if all field-descriptors in
+  the corresponding class-descriptor that are identified as being part of
+  the primary key are to be passed to the procedure/function.  If
+  include-pk-only is 'true', any nested 'argument' elements will be
+  ignored.  In this case, values for all field-descriptors that are identified
+  as being part of the primary key will be passed to the procedure/function.
+  The order of values that are passed to the procedure/function will match
+  the order of field-descriptors on the corresponding class-descriptor.
+  If include-pk-only is false, then values will be passed to the procedure/
+  function based on the information in the nested 'argument' elements.
+-->
+<!ELEMENT delete-procedure
+  (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+<!ATTLIST delete-procedure
+  name CDATA #REQUIRED
+  return-field-ref CDATA #IMPLIED
+  include-pk-only (true | false) "false"
+>
+
+<!--
+  Defines an argument that is passed to a procedure/function.  Each argument
+  will be set to a value from a field-descriptor or null.
+
+  The field-ref attribute identifies the field-descriptor in the corresponding
+  class-descriptor that provides the value for this argument.  If this attribute
+  is unspecified, then this argument will be set to null.
+-->
+<!ELEMENT runtime-argument
+  (documentation?, attribute*)>
+<!ATTLIST runtime-argument
+  field-ref CDATA #IMPLIED
+  return (true | false) "false"
+>
+<!--
+  Defines a constant value that is passed to a procedure/function.
+
+  The value attribute identifies the value that is passed to the procedure/
+  function.
+-->
+<!ELEMENT constant-argument
+  (documentation?, attribute*)>
+<!ATTLIST constant-argument
+  value CDATA #REQUIRED
+>
+
+<!--
+  Identifies the procedure/function that should be used to handle
+  selects based on the identity (primary key values) for this class
+  descriptor.
+
+  The return-field-ref identifies the field-descriptor that will receive
+  the value that is returned by the procedure/function.  If the procedure/
+  function does not include a return value, then do not specify a value
+  for this attribute.
+
+  The name attribute identifies the name of the procedure/function to use
+  -->
+<!ELEMENT select-by-pk-procedure
+  (documentation?, attribute*)>
+<!ATTLIST select-by-pk-procedure
+  name CDATA #REQUIRED
+  return-field-ref CDATA #IMPLIED
+>
+
+<!--
+  Identifies the procedure/function that should be used to handle
+  selects based on the values of foreign key fields in the objects of
+  this type. It will e.g. be used for retrieving collection elements.
+
+  The return-field-ref identifies the field-descriptor that will receive
+  the value that is returned by the procedure/function.  If the procedure/
+  function does not include a return value, then do not specify a value
+  for this attribute.
+
+  The name attribute identifies the name of the procedure/function to use
+-->
+<!ELEMENT select-by-fk-procedure
+  (documentation?, attribute*)>
+<!ATTLIST select-by-fk-procedure
+  name CDATA #REQUIRED
+  return-field-ref CDATA #IMPLIED
+>

Added: db/ojb/trunk/src/config/repository.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository.xml (added)
+++ db/ojb/trunk/src/config/repository.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+#/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<!-- This is a sample metadata repository for the
+     Apache ObJectRelationalBridge (OJB) System.
+     Use this file as a template for building your own mappings.
+-->
+
+<!-- doctype definition
+     By default we are using a local DTD that is expected to reside
+     in the same directory as this repository.xml file.
+     If you intend to validate your repository.xml against
+     the public dtd at the Apache site, please replace the string
+     "repository.dtd"
+     by the public adress
+     "http://db.apache.org/ojb/dtds/1.0/repository.dtd".
+     In this case validation will only work if the machine you
+     run your application on can connect to the internet!
+-->
+
+<!DOCTYPE descriptor-repository PUBLIC
+       "-//Apache Software Foundation//DTD OJB Repository//EN"
+       "repository.dtd"
+[
+
+<!ENTITY database SYSTEM "repository_database.xml">
+<!ENTITY internal SYSTEM "repository_internal.xml">
+<!ENTITY user SYSTEM "repository_user.xml">
+]>
+
+
+<descriptor-repository version="1.0" isolation-level="read-uncommitted"
+        proxy-prefetching-limit="50">
+
+    <!-- include all used database connections -->
+    &database;
+
+    <!-- include ojb internal mappings here, can be removed (with <!ENTITY entry)
+    if internal tables not used. See documentation platform-guide -->
+    &internal;
+
+    <!-- include user defined mappings here -->
+    &user;
+    
+</descriptor-repository>

Added: db/ojb/trunk/src/config/repository_database.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository_database.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository_database.xml (added)
+++ db/ojb/trunk/src/config/repository_database.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,246 @@
+<!-- @version $Id: repository_database.xml 513577 2007-03-02 02:33:44 +0100 (Fr, 02 Mrz 2007) arminw $ -->
+<!--
+#/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<!--
+Define all database connections here.
+One defined connection should be defined as the default one,
+by setingt default-connection="true" - this could be done at runtime too.
+
+It is possible to set user/password at
+runtime or to let different users login at runtime
+using the same database.
+Use PBKey objects for the same jcdAlias name,
+but with different user/password.
+
+It is also possible to add jdbc-connection-descriptor elements
+at runtime,  using the MetadataManager.
+-->
+
+    <!-- This connection is used as the default one within OJB -->
+    <jdbc-connection-descriptor
+   		jcd-alias="@JCD_ALIAS@"
+   		default-connection="true"
+   		platform="@DBMS_NAME@"
+   		jdbc-level="@JDBC_LEVEL@"
+   		driver="@DRIVER_NAME@"
+   		protocol="@URL_PROTOCOL@"
+   		subprotocol="@URL_SUBPROTOCOL@"
+   		dbalias="@URL_DBALIAS@"
+   		username="@USER_NAME@"
+   		password="@USER_PASSWD@"
+   		batch-mode="false"
+        useAutoCommit="1"
+        ignoreAutoCommitExceptions="false"
+     >
+
+        <!--
+            If set 'true' OJB use the native database LIMIT and OFFSET syntax
+            for limit and paging queries (if it's supported by the database and OJB's Platform
+            implementation class). If set 'false' OJB simulate limit and paging by a specific
+            result set iterator (this can result in bad performance on big result sets).
+        -->
+        <attribute attribute-name="nativeLimitOffset" attribute-value="true" />
+
+
+        <!-- ** Attributes with name prefix "platform." are used to allow database
+        platform class specific settings (PlatformXYZImpl classes) -->
+
+        <!-- If set to value >0 Oracle's implicit statement caching will be enabled by OJB (Oracle9i or higher).
+        Number of cached statements per connection using implicit caching with Oracle9i Connections.
+        See http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/jdbc30/StmtCacheSample/Readme.html-->
+        <attribute attribute-name="platform.oracle.statementCacheSize" attribute-value="15" />
+
+        <!-- Number of rows pre-fetched by the JDBC-driver for each executed query, when using row
+        pre-fetching with Oracle Connections (Oracle9i or higher). Note: this setting can be overridden
+        by specifying a connection-pool attribute with name="jdbc.defaultRowPrefetch".
+        See http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/advanced/RowPrefetchSample/Readme.html -->
+        <attribute attribute-name="platform.oracle.prefetchSize" attribute-value="20" />
+
+        <!-- If set to value >0 Oracle's native batch statement handling will be enabled by OJB
+        (Oracle9i or higher). If 0 or not specified the JDBC standard batch methods are used.
+        See http://technet.oracle.com/products/oracle9i/daily/jun07.html -->
+        <!--<attribute attribute-name="platform.oracle.batchSize" attribute-value="20" />-->
+
+
+        <!-- Specify the ConnectionFactory implemenation:
+        org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl
+        org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl
+        org.apache.ojb.broker.accesslayer.ConnectionFactoryNotPooledImpl
+         -->
+        <connection-factory
+            class="org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl"
+            validationQuery=""
+        >
+            <!-- ** Attributes with prefix "ojb." supported by all ConnectionFactory implementations -->
+            <!-- Set fetchSize to 0 to use driver's default. -->
+            <attribute attribute-name="ojb.fetchSize" attribute-value="0"/>
+            <!-- Enable/disable OJB's internal statement caching. This make sense
+            when the used jdbc-driver/ConnectionFactory doesn't support statement
+            caching. The statements cached as long as the current used connection
+            is returned to pool/closed. NOTE: It's recommended to disable OJB's statement
+            caching if the jdbc-driver or the connection-pool statement-caching is enabled
+             -->
+            <attribute attribute-name="ojb.cacheStatements" attribute-value="false"/>
+            <!-- If OJB's statement caching is enabled, this property set the max number
+             of cached statements per connection -->
+            <attribute attribute-name="ojb.maxCacheStatements" attribute-value="50"/>
+
+
+            <!-- ** Attributes with name prefix "pool." supported by ConnectionFactoryPooledImpl
+            and ConnectionFactoryDBCPImpl:
+            (prefix 'pool.' is mandatory for all attributes, e.g. "pool.maxActive")
+            "maxActive", "maxIdle", "minIdle", "maxWait", "whenExhaustedAction",
+            "testOnBorrow", "testOnReturn", "testWhileIdle", "timeBetweenEvictionRunsMillis",
+            "numTestsPerEvictionRun", "minEvictableIdleTimeMillis", "validationQuery",
+            "softMinEvictableIdleTimeMillis", "initialSize"
+            -->
+            <attribute attribute-name="pool.maxActive" attribute-value="30"/>
+            <attribute attribute-name="pool.maxIdle" attribute-value="-1"/>
+            <attribute attribute-name="pool.maxWait" attribute-value="10000"/>
+            <attribute attribute-name="pool.whenExhaustedAction" attribute-value="0"/>
+            <attribute attribute-name="pool.testOnBorrow" attribute-value="true"/>
+            <attribute attribute-name="pool.testOnReturn" attribute-value="false"/>
+            <attribute attribute-name="pool.testWhileIdle" attribute-value="false"/>
+            <attribute attribute-name="pool.timeBetweenEvictionRunsMillis" attribute-value="-1"/>
+            <attribute attribute-name="pool.numTestsPerEvictionRun" attribute-value="10"/>
+            <attribute attribute-name="pool.minEvictableIdleTimeMillis" attribute-value="-1"/>
+            <attribute attribute-name="pool.initialSize" attribute-value="0"/>
+
+            <!-- ** Additional attributes supported by ConnectionFactoryDBCPImpl:
+            (prefix 'dbcp.' is mandatory for all attributes, e.g. "dbcp.poolPreparedStatements")
+            "poolPreparedStatements", "maxOpenPreparedStatements", "accessToUnderlyingConnectionAllowed"
+            "logAbandoned", "removeAbandoned", "removeAbandonedTimeout"
+            -->
+            <!--
+            Attributes determining if ConnectionFactoryDBCPImpl
+            should also pool PreparedStatement. This is programmatically disabled
+            when using platform=Oracle9i since Oracle statement caching will conflict
+            with DBCP ObjectPool-based PreparepdStatement caching (ie setting true
+            here has no effect for Oracle9i platform). -->
+            <attribute attribute-name="dbcp.poolPreparedStatements" attribute-value="true"/>
+            <attribute attribute-name="dbcp.maxOpenPreparedStatements" attribute-value="50"/>
+            <!-- Attribute determining if the Commons DBCP connection wrapper will allow
+                 access to the underlying concrete Connection instance from the JDBC-driver
+                 (if not specified, by default it's enabled). -->
+            <attribute attribute-name="dbcp.accessToUnderlyingConnectionAllowed" attribute-value="true"/>
+            <attribute attribute-name="dbcp.logAbandoned" attribute-value="false"/>
+            <attribute attribute-name="dbcp.removeAbandoned" attribute-value="false"/>
+            <attribute attribute-name="dbcp.removeAbandonedTimeout" attribute-value="300"/>
+
+
+            <!-- ** Attributes with name prefix "jdbc." are passed directly to the JDBC driver. -->
+            <!-- Oracle specific driver setting to enable oracle's specific statement batching.
+             Oracle Docs: "The value of this property is used as the default batch
+             size when using Oracle style batching."
+             Attention: With OracleXE + thin this setting cause unexpected behavior -->
+            <!--<attribute attribute-name="jdbc.defaultExecuteBatch" attribute-value="20"/>-->
+            <!-- Oracle specific driver setting to set the default prefetch size.
+             Oracle Docs: "The value of this property is used as the default number of rows to prefetch."
+             Attention: With OracleXE + thin this setting cause unexpected behavior -->
+            <!--<attribute attribute-name="jdbc.defaultRowPrefetch" attribute-value="20"/>-->
+
+        </connection-factory>
+
+
+        <!-- Specify the batch strategy and the batch manager implementation, the
+         validator is used to check the 'execute batch' statement return array -->
+        <batch class="org.apache.ojb.broker.accesslayer.batch.BatchManagerImpl"
+            strategy="org.apache.ojb.broker.accesslayer.batch.BatchStrategyDefaultImpl"
+            limit="50"
+            validator="org.apache.ojb.broker.accesslayer.batch.ReturnValueValidatorImpl"
+         >
+            <!-- property used by BatchManagerImpl, set 'true' if the used JDBC driver
+             supports proper "int[] Statement.executeBatch()" return result arrays (many
+             driver simply return 'success' instead the number of modified rows)-->
+            <attribute attribute-name="batch.supportOptimisticLocking" attribute-value="false"/>
+        </batch>
+
+        
+        <!-- Specify the caching pipe and the used caching implementation -->
+        <object-cache class="org.apache.ojb.broker.cache.ObjectCacheDefaultImpl"
+            strategy="org.apache.ojb.broker.cache.CachingPipeFlatCopyImpl"
+            timeout="-1"
+        >
+            <!-- attributes used by ObjectCacheDefaultImpl -->
+            <attribute attribute-name="default.useSoftReference" attribute-value="true"/>
+            <attribute attribute-name="default.maxEntry" attribute-value="-1"/>
+
+            <!-- attributes used by ObjectCacheOSCacheImpl -->
+            <attribute attribute-name="oscache.flushOnPut" attribute-value="true"/>
+            <attribute attribute-name="oscache.cacheCapacity" attribute-value=""/>
+            <attribute attribute-name="oscache.cron" attribute-value=""/>
+
+            <!-- attributes used by ObjectCacheJCSImpl -->
+            <attribute attribute-name="jcs.maxObjects" attribute-value=""/>
+        </object-cache>
+
+
+        <sequence-manager class="hilo">
+            <!-- The attribute 'seq.perField': If set 'true' it's possible to define per
+            field-descriptor sequence manager. This way you can use different sequence
+            identifier generation strategies. If set 'false' only the default sequence manager
+            defined within the jdbc-connection-descriptor is used and all sequence descriptors defined
+            on field-descriptor level are ignored -->
+            <attribute attribute-name="seq.perField" attribute-value="false"/>
+            <!-- attributes supported by SequenceManagerHighLowImpl,
+            SequenceManagerInMemoryImpl, SequenceManagerNextValImpl
+            please see "Sequence Manager" guide or/and javadoc of class for more information -->
+            <attribute attribute-name="seq.start" attribute-value="200000"/>
+            <attribute attribute-name="seq.autoNaming" attribute-value="true"/>
+
+            <!-- attributes supported by SequenceManagerHighLowImpl
+            please see "Sequence Manager" guide or/and javadoc of classes for more information -->
+            <attribute attribute-name="seq.grabSize" attribute-value="20"/>
+
+            <!-- optional attributes supported by SequenceManagerNextValImpl (support depends
+            on the used database), please see "Sequence Manager" guide or/and javadoc of
+            classes for more information -->
+            <!-- attribute attribute-name="seq.as" attribute-value="INTEGER"/ -->
+            <!-- attribute attribute-name="seq.incrementBy" attribute-value="1"/ -->
+            <!-- attribute attribute-name="seq.maxValue" attribute-value="999999999999999999999999999"/ -->
+            <!-- attribute attribute-name="seq.minValue" attribute-value="1"/ -->
+            <!-- attribute attribute-name="seq.cycle" attribute-value="false"/ -->
+            <!-- attribute attribute-name="seq.cache" attribute-value="20"/ -->
+            <!-- attribute attribute-name="seq.order" attribute-value="false"/ -->
+
+            <!-- optional attributes supported by SequenceManagerIdentityImpl, more details
+            please see "Sequence Manager" guide or/and javadoc of classes for more information -->
+            <!-- If set 'true' OJB use the JDBC 3.0 method "Statement.getGeneratedKeys()"
+            to obtain generated database identity keys. If set 'false' OJB use a separate
+            database specific "last identity call" query to request the generated identity key. -->
+            <attribute attribute-name="seq.generatedKeys" attribute-value="true"/>
+
+        </sequence-manager>
+   </jdbc-connection-descriptor>
+
+   <!-- Datasource example -->
+    <!-- jdbc-connection-descriptor
+        jcd-alias="default"
+        default-connection="true"
+   		platform="Hsqldb"
+   		jdbc-level="2.0"
+   		jndi-datasource-name="java:DefaultDS"
+   		username="sa"
+   		password=""
+        batch-mode="false"
+        useAutoCommit="0"
+        ignoreAutoCommitExceptions="false"
+   >
+        Add the other elements like connection-factory, batch, object-cache, sequence-manager here.
+
+   </jdbc-connection-descriptor -->
+

Added: db/ojb/trunk/src/config/repository_internal.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository_internal.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository_internal.xml (added)
+++ db/ojb/trunk/src/config/repository_internal.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,253 @@
+<!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
+<!--
+#/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<!-- The OJB HIGH/LOW SequenceManagerTable -->
+   <class-descriptor
+        class="org.apache.ojb.broker.util.sequence.HighLowSequence"
+        table="OJB_HL_SEQ"
+        batchable="false"
+   >
+        <!-- this persistent object should never be cached, so we use an empty cache -->
+       <object-cache class="org.apache.ojb.broker.cache.ObjectCacheEmptyImpl">
+       </object-cache>
+
+       <field-descriptor
+         name="name"
+         column="NAME"
+         jdbc-type="VARCHAR"
+         primarykey="true"
+      />
+      <field-descriptor
+         name="maxKey"
+         column="MAX_KEY"
+         jdbc-type="BIGINT"
+      />
+      <field-descriptor
+         name="version"
+         column="VERSION"
+         jdbc-type="INTEGER"
+         locking="true"
+      />
+   </class-descriptor>
+
+
+<!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
+   <class-descriptor
+   	  class="org.apache.ojb.odmg.NamedRootsMap$NamedEntry"
+   	  table="OJB_NRM"
+   >
+      <field-descriptor
+         name="name"
+         column="NAME"
+         jdbc-type="VARCHAR"
+         primarykey="true"
+      />
+      <field-descriptor
+         name="oid"
+         column="OID_"
+         jdbc-type="LONGVARBINARY"
+      />
+   </class-descriptor>
+
+   <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
+   <class-descriptor
+   	  class="org.apache.ojb.odmg.collections.DListImpl"
+   	  table="OJB_DLIST"
+   >
+      <field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      />
+
+      <collection-descriptor
+         name="elements"
+         element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
+         auto-retrieve = "true"
+          auto-update="none"
+          auto-delete="none"
+      >
+         <inverse-foreignkey field-ref="dlistId"/>
+      </collection-descriptor>
+   </class-descriptor>
+
+<!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT EDIT-->
+   <class-descriptor
+      class="org.apache.ojb.odmg.collections.DListEntry"
+      table="OJB_DLIST_ENTRIES"
+   >
+      <field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      />
+      <field-descriptor
+         name="dlistId"
+         column="DLIST_ID"
+         jdbc-type="INTEGER"
+      />
+      <field-descriptor
+         name="position"
+         column="POSITION_"
+         jdbc-type="INTEGER"
+      />
+      <field-descriptor
+         name="oid"
+         column="OID_"
+         jdbc-type="LONGVARBINARY"
+         conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+      />
+   </class-descriptor>
+
+   <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
+   <class-descriptor
+   	  class="org.apache.ojb.odmg.collections.DBagImpl"
+   	  table="OJB_DLIST"
+   >
+      <field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      />
+      <collection-descriptor
+         name="elements"
+         element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
+          auto-retrieve = "true"
+          auto-update="none"
+          auto-delete="none"
+      >
+         <inverse-foreignkey field-ref="dlistId"/>
+      </collection-descriptor>
+   </class-descriptor>
+
+<!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
+   <class-descriptor
+   	  class="org.apache.ojb.odmg.collections.DSetImpl"
+   	  table="OJB_DSET"
+   >
+      <field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      />
+      <collection-descriptor
+         name="elements"
+         element-class-ref="org.apache.ojb.odmg.collections.DSetEntry"
+          auto-retrieve = "true"
+          auto-update="none"
+          auto-delete="none"
+      >
+         <inverse-foreignkey field-ref="dlistId"/>
+      </collection-descriptor>
+   </class-descriptor>
+
+<!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT EDIT-->
+   <class-descriptor
+   	  class="org.apache.ojb.odmg.collections.DSetEntry"
+   	  table="OJB_DSET_ENTRIES"
+   >
+      <field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      />
+      <field-descriptor
+         name="dlistId"
+         column="DLIST_ID"
+         jdbc-type="INTEGER"
+      />
+      <field-descriptor
+         name="position"
+         column="POSITION_"
+         jdbc-type="INTEGER"
+      />
+      <field-descriptor
+         name="oid"
+         column="OID_"
+         jdbc-type="LONGVARBINARY"
+         conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+      />
+   </class-descriptor>
+
+<!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
+   <class-descriptor
+   	  class="org.apache.ojb.odmg.collections.DMapImpl"
+   	  table="OJB_DMAP"
+   >
+      <field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      />
+      <collection-descriptor
+         name="entries"
+         element-class-ref="org.apache.ojb.odmg.collections.DMapEntry"
+         collection-class="org.apache.ojb.broker.util.collections.ManageableHashSet"
+          auto-retrieve = "true"
+          auto-update="none"
+          auto-delete="none"
+      >
+         <inverse-foreignkey field-ref="dmapId"/>
+      </collection-descriptor>
+   </class-descriptor>
+
+<!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT EDIT-->
+   <class-descriptor
+   	  class="org.apache.ojb.odmg.collections.DMapEntry"
+   	  table="OJB_DMAP_ENTRIES"
+   >
+      <field-descriptor
+         name="id"
+         column="ID"
+         jdbc-type="INTEGER"
+         primarykey="true"
+         autoincrement="true"
+      />
+      <field-descriptor
+         name="dmapId"
+         column="DMAP_ID"
+         jdbc-type="INTEGER"
+      />
+      <field-descriptor
+         name="keyOid"
+         column="KEY_OID"
+         jdbc-type="LONGVARBINARY"
+         conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+      />
+      <field-descriptor
+         name="valueOid"
+         column="VALUE_OID"
+         jdbc-type="LONGVARBINARY"
+         conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+      />
+   </class-descriptor>
+
+
+
+   <!-- END OF OJB INTERNAL MAPPINGS-->

Added: db/ojb/trunk/src/config/repository_user.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository_user.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository_user.xml (added)
+++ db/ojb/trunk/src/config/repository_user.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,22 @@
+<!-- Please keep user defined mappings in this file only
+     to avoid mixing user defined and system mappings. -->
+<!-- Mapping of User defined classes starts here -->
+<!--
+#/* Copyright 2002-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<!-- This file usually contains the mappings for the application classes. -->
+
+<!-- Mapping of User defined classes ends here -->

Added: db/ojb/trunk/src/config/simplelog.properties
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/simplelog.properties?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/simplelog.properties (added)
+++ db/ojb/trunk/src/config/simplelog.properties Fri Mar 30 16:08:35 2007
@@ -0,0 +1,24 @@
+#<!--
+#/* Copyright 2002-2004 The Apache Software Foundation
+# *
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *     http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# */
+#-->
+#
+# simplelog config
+#
+
+#set log levels
+org.apache.commons.logging.simplelog.defaultlog=warn
+org.apache.commons.logging.simplelog.log.org.apache.ojb.broker.accesslayer.JdbcAccess=warn
+org.apache.commons.logging.simplelog.log.org.apache.ojb.broker.accesslayer.SqlGenerator=warn

Added: db/ojb/trunk/src/config/spy.properties
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/spy.properties?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/spy.properties (added)
+++ db/ojb/trunk/src/config/spy.properties Fri Mar 30 16:08:35 2007
@@ -0,0 +1,242 @@
+#<!--
+#/* Copyright 2002-2004 The Apache Software Foundation
+# *
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *     http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# */
+#-->
+#################################################################
+# P6Spy Options File                                            #
+# See documentation for detailed instructions                   #
+#################################################################
+
+#################################################################
+# MODULES                                                       #
+#                                                               #
+# Modules provide the P6Spy functionality.  If a module, such   #
+# as module_log is commented out, that functionality will not   #
+# be available.  If it is not commented out (if it is active),  #
+# the functionality will be active.                             #
+#                                                               #
+# Values set in Modules cannot be reloaded using the            #
+# reloadproperties variable.  Once they are loaded, they remain #
+# in memory until the application is restarted.                 #
+#                                                               #
+#################################################################
+
+module.log=com.p6spy.engine.logging.P6LogFactory
+#module.outage=com.p6spy.engine.outage.P6OutageFactory
+
+#################################################################
+# REALDRIVER(s)                                                 #
+#                                                               #
+# In your application server configuration file you replace the #
+# "real driver" name with com.p6spy.engine.P6SpyDriver. This is #
+# where you put the name of your real driver P6Spy can find and #
+# register your real driver to do the database work.            #
+#                                                               #
+# If your application uses several drivers specify them in      #
+# realdriver2, realdriver3.  See the documentation for more     #
+# details.                                                      #
+#                                                               #
+# Values set in REALDRIVER(s) cannot be reloaded using the      #
+# reloadproperties variable.  Once they are loaded, they remain #
+# in memory until the application is restarted.                 #
+#                                                               #
+#################################################################
+
+# oracle driver
+# realdriver=oracle.jdbc.driver.OracleDriver
+
+# mysql Connector/J driver
+# realdriver=com.mysql.jdbc.Driver
+
+# informix driver
+# realdriver=com.informix.jdbc.IfxDriver
+
+# ibm db2 driver
+# realdriver=COM.ibm.db2.jdbc.net.DB2Driver
+
+# the mysql open source driver
+#realdriver=org.gjt.mm.mysql.Driver
+
+# the postgresql open source driver
+#realdriver=org.postgresql.Driver
+
+# the hsqldb jdbc driver (OJB testsuite and tutorials)
+realdriver=org.hsqldb.jdbcDriver
+
+#specifies another driver to use
+#realdriver2=com.sap.dbtech.jdbc.DriverSapDB
+realdriver2=oracle.jdbc.driver.OracleDriver
+#specifies a third driver to use
+realdriver3=org.gjt.mm.mysql.Driver
+
+################################################################
+# P6LOG SPECIFIC PROPERTIES                                    #
+################################################################
+# no properties currently available
+
+################################################################
+# P6OUTAGE SPECIFIC PROPERTIES                                 #
+################################################################
+# Outage Detection
+#
+# This feature detects long-running statements that may be indicative of
+# a database outage problem. If this feature is turned on, it will log any
+# statement that surpasses the configurable time boundary during its execution.
+# When this feature is enabled, no other statements are logged except the long
+# running statements. The interval property is the boundary time set in seconds.
+# For example, if this is set to 2, then any statement requiring at least 2
+# seconds will be logged. Note that the same statement will continue to be logged
+# for as long as it executes. So if the interval is set to 2, and the query takes
+# 11 seconds, it will be logged 5 times (at the 2, 4, 6, 8, 10 second intervals).
+#
+# outagedetection=true|false
+# outagedetectioninterval=integer time (seconds)
+#
+outagedetection=false
+outagedetectioninterval=
+
+################################################################
+# COMMON PROPERTIES                                            #
+################################################################
+
+# comma separated list of tables to include
+include     =
+# comma separated list of tables to exclude
+exclude     =
+
+# sql expression to evaluate if using regex
+sqlexpression =
+
+# filter what is logged
+filter=false
+
+# turn on tracing
+autoflush   = true
+
+# sets the date format using Java's SimpleDateFormat routine
+dateformat=
+
+#list of categories to explicitly include
+includecategories=
+
+#list of categories to exclude: error, info, batch, debug, statement,
+#commit, rollback and result are valid values
+excludecategories=info,debug,result,batch,resultset,prepared
+
+#allows you to use a regex engine or your own matching engine to determine
+
+#which statements to log
+#
+#stringmatcher=com.p6spy.engine.common.GnuRegexMatcher
+#stringmatcher=com.p6spy.engine.common.JakartaRegexMatcher
+stringmatcher=
+
+# prints a stack trace for every statement logged
+stacktrace=false
+# if stacktrace=true, specifies the stack trace to print
+stacktraceclass=
+
+# determines if property file should be reloaded
+reloadproperties=false
+# determines how often should be reloaded in seconds
+reloadpropertiesinterval=60
+
+#if=true then url must be prefixed with p6spy:
+useprefix=false
+
+#specifies the appender to use for logging
+#appender=com.p6spy.engine.logging.appender.Log4jLogger
+#appender=com.p6spy.engine.logging.appender.StdoutLogger
+appender=com.p6spy.engine.logging.appender.FileLogger
+
+# name of logfile to use, note Windows users should make sure to use forward slashes in their pathname (e:/test/spy.log) (used for file logger only)
+logfile     = spy.log
+
+# append to  the p6spy log file.  if this is set to false the
+# log file is truncated every time.  (file logger only)
+append=true
+
+#The following are for log4j logging only
+log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
+log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
+log4j.appender.STDOUT.layout.ConversionPattern=p6spy - %m%n
+
+#log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender
+#log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost
+#log4j.appender.CHAINSAW_CLIENT.Port=4445
+#log4j.appender.CHAINSAW_CLIENT.LocationInfo=true
+
+log4j.logger.p6spy=INFO,STDOUT
+
+
+#################################################################
+# DataSource replacement                                        #
+#                                                               #
+# Replace the real DataSource class in your application server  #
+# configuration with the name com.p6spy.engine.spy.P6DataSource,#
+# then add the JNDI name and class name of the real 		    #
+# DataSource here	            				                #
+#                                                               #
+# Values set in this item cannot be reloaded using the          #
+# reloadproperties variable.  Once it is loaded, it remains     #
+# in memory until the application is restarted.                 #
+#                                                               #
+#################################################################
+#realdatasource=/RealMySqlDS
+#realdatasourceclass=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
+
+#################################################################
+# DataSource properties                                         #
+#                                                               #
+# If you are using the DataSource support to intercept calls    #
+# to a DataSource that requires properties for proper setup,    #
+# define those properties here. Use name value pairs, separate  #
+# the name and value with a semicolon, and separate the         #
+# pairs with commas.                                            #
+# 					                        #
+# The example shown here is for mysql 	                        #
+#                                                               #
+#################################################################
+#realdatasourceproperties=port;3306,serverName;ibmhost,databaseName;mydb
+
+#################################################################
+# JNDI DataSource lookup                                        #
+#                                                               #
+# If you are using the DataSource support outside of an app     #
+# server, you will probably need to define the JNDI Context     #
+# environment.                                                  #
+#                                                               #
+# If the P6Spy code will be executing inside an app server then #
+# do not use these properties, and the DataSource lookup will   #
+# use the naming context defined by the app server.             #
+#                                                               #
+# The two standard elements of the naming environment are	    #
+# jndicontextfactory and jndicontextproviderurl. If you need    #
+# additional elements, use the jndicontextcustom property.      #
+# You can define multiple properties in jndicontextcustom,      #
+# in name value pairs. Separate the name and value with a       #
+# semicolon, and separate the pairs with commas.                #
+#                                                               #
+# The example shown here is for a standalone program running on #
+# a machine that is also running JBoss, so the JDNI context     #
+# is configured for JBoss (3.0.4).                              #
+#                                                               #
+#################################################################
+#jndicontextfactory=org.jnp.interfaces.NamingContextFactory
+#jndicontextproviderurl=localhost:1099
+#jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.nameing:org.jnp.interfaces
+
+#jndicontextfactory=com.ibm.websphere.naming.WsnInitialContextFactory
+#jndicontextproviderurl=iiop://localhost:900

Added: db/ojb/trunk/src/config/web.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/web.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/web.xml (added)
+++ db/ojb/trunk/src/config/web.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+/* Copyright 2002-2004 Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+    <display-name>OJB Lock-Server</display-name>
+  <description>
+     The OJB locking server servlet
+  </description>
+
+  <servlet>
+    <servlet-name>lockserver</servlet-name>
+        <servlet-class>org.apache.ojb.broker.locking.LockManagerServlet</servlet-class>
+    <init-param>
+            <param-name>lockManager</param-name>
+            <param-value>org.apache.ojb.broker.locking.LockManagerInMemoryImpl</param-value>
+            <!--<param-value>org.apache.ojb.broker.locking.LockManagerCommonsImpl</param-value>-->
+    </init-param>
+        <init-param>
+            <param-name>lockTimeout</param-name>
+            <!-- set lock timeout to 2 minutes (setting in [ms]) -->
+            <param-value>120000</param-value>
+        </init-param>
+        <init-param>
+            <!-- set block timeout to 1 sec (setting in [ms], if supported by the Impl.) -->
+            <param-name>blockTimeout</param-name>
+            <param-value>1000</param-value>
+        </init-param>
+
+    <!--load-on-startup>1</load-on-startup-->
+  </servlet>
+
+  <!-- The mapping for the webdav servlet -->
+  <servlet-mapping>
+    <servlet-name>lockserver</servlet-name>
+    <url-pattern>/</url-pattern>
+  </servlet-mapping>
+
+  <!-- Establish the default list of welcome files -->
+  <welcome-file-list>
+    <welcome-file>index.jsp</welcome-file>
+    <welcome-file>index.html</welcome-file>
+    <welcome-file>index.htm</welcome-file>
+  </welcome-file-list>
+</web-app>



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