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/02 02:06:23 UTC

svn commit: r513574 - in /db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation: ./ content/xdocs/ content/xdocs/docu/ content/xdocs/docu/guides/ content/xdocs/docu/tutorials/ resources/images/

Author: arminw
Date: Thu Mar  1 17:06:22 2007
New Revision: 513574

URL: http://svn.apache.org/viewvc?view=rev&rev=513574
Log:
update documentation, add new svn-info, new web-site style

Added:
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml
Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/resources/images/ojb-400-white.png
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/faq.xml Thu Mar  1 17:06:22 2007
@@ -826,26 +826,35 @@
             </answer>
         </faq>
 
-        <faq id="pageAndSort">
+        <faq id="howtoSort">
             <question>
-                How to page and sort?
+                How to order/sort and group query?
             </question>
             <answer>
                 <p>
-                    Sorting can be configured by
-                    <code>org.apache.ojb.broker.query.Criteria::orderBy(column_name)</code>.
-                </p>
-                <p>
-                    There is no paging support in OJB. OJB is concerned with Object/Relational
-                    mapping and not with application specific presentation details like
-                    presenting a scrollable page of items.
+                    See <a href="site:query/ordering">query-guide</a>.
                 </p>
+            </answer>
+        </faq>
+
+        <faq id="howtoPage">
+            <question>
+                How to do pagination (page query) on large query results?
+            </question>
+            <answer>
                 <p>
-                    OJB returns query results as Collections or Iterators.
+                    See <a href="site:query/pagination">query-guide</a>.
                 </p>
+            </answer>
+        </faq>
+
+        <faq id="howtoLimit">
+            <question>
+                How to limit large query result?
+            </question>
+            <answer>
                 <p>
-                    You can easily implement your partial display of result data by using an
-                    Iterator as returned by <code>ojb.broker.PersistenceBroker::getIteratorByQuery(...)</code>.
+                    See <a href="site:query/pagination">query-guide</a>.
                 </p>
             </answer>
         </faq>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/getting-started.xml Thu Mar  1 17:06:22 2007
@@ -127,12 +127,13 @@
                     of OJB such as clustered locking and OJB managed sequences. More information on these
                     tables is available in the <a href="site:platform">platform documentation</a>.
                     The schema is in a database-independent format that can be used by
-                    <a href="ext:torque">Torque</a> or
-                    <a href="ext:jakarta/commons-sql">commons-sql</a> to create the database.<br/>
-                    The ojb-blank project contains the runtime files of Torque 3.0.2, and provides a build
-                    target that can be invoked on your schema (see <a href="#build-actions">below</a>
-                    for details). Therefore, this directory also contains the build script of Torque, but
-                    you won't need to invoke it directly.
+                    <a href="ext:ddlutils">DdlUtils</a> or <a href="ext:torque">Torque</a> to create the database.
+                    <br/>
+                    The <em>ojb-blank</em> project contains the runtime files of
+                    <a href="ext:ddlutils">DdlUtils</a>/<a href="ext:torque">Torque</a>,
+                    and provides a build target that can be invoked on your schema
+                    (see <a href="#build-actions">below</a> for details). Therefore, this directory also contains
+                    the build script of DdlUtils, but you won't need to invoke it directly.
                 </dd>
                 <dt><strong>src/test</strong></dt>
                 <dd>
@@ -197,7 +198,7 @@
                     <tr>
                         <td>databaseUser</td>
                         <td>The user name for accessing the database (default: <code>sa</code>). If you're
-                            using Torque to create the database, then this user also requires sufficient
+                            using DdlUtils or Torque to create the database, then this user also requires sufficient
                             rights to create databases and tables.</td>
                     </tr>
                     <tr>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/advanced-technique.xml Thu Mar  1 17:06:22 2007
@@ -47,6 +47,8 @@
                 There is also a class <code>BookArticle</code> derived from <code>Article</code>.
                 (See the following class diagram for details)
             </p>
+
+
             <anchor id="example-hierarchy"/>
             <p>
                 <img src="images/polymorphism.gif" alt="polymorphism.gif"/>
@@ -84,6 +86,7 @@
                 </p>
             </section>
 
+            
             <anchor id="extents"/>
             <section>
                 <title>Extents</title>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/odmg-guide.xml Thu Mar  1 17:06:22 2007
@@ -203,6 +203,15 @@
         </section>
 
 
+        <anchor id="state-detection"/>
+        <section>
+            <title>Object State Detection</title>
+            <p>
+                !!!TODO
+            </p>
+        </section>
+
+
         <anchor id="configuration"/>
         <section>
             <title>Configuration Properties</title>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml Thu Mar  1 17:06:22 2007
@@ -235,7 +235,9 @@
                     <li>
                         connection pooling and pooled prepared statements are enabled (using DBCP based
                         ConnectionFactory implementation in <a href="ext:ojb.properties">OJB.properties file</a>,
-                        parameter enabled in <a href="ext:repository_database.xml">repository file</a>)
+                        statement caching attributes enabled in the
+                        <a href="site:repository/connection-pool">connection-pool</a> element in
+                        the <a href="ext:repository_database.xml">repository file</a>)
                     </li>
                     <li>
                         a in-memory sequence key generator is used
@@ -419,7 +421,7 @@
                 shipped with a simple <em>performance application</em> (independend from OJB)
                 which allows a rudimentarily comparision of OJB with other (java-based) O/R mapping tools.
                 <br/>
-                All involved classes can be found in dirctory <em>[db-ojb]/src/test</em> in package
+                All involved classes can be found in directory <em>[db-ojb]/src/test</em> in package
                 <code>org.apache.ojb.performance</code>.
             </p>
             <p>
@@ -663,6 +665,18 @@
                         or 'useAutoCommit="2"' setting is used in
                         <a href="site:repository/jdbc-connection-descriptor">the jdbc-connection-descriptor</a>
                         to avoid <code>Connection.setAutoCommit(...)</code> calls by OJB.</p>
+                    </li>
+                    <li>
+                        <p>
+                            The use of <a href="site:basic-technique/using-proxy"><em>"proxied references"</em></a> for
+                            references in persistent objects whenever it's possible (and indicated) to avoid
+                            materialization of the whole object graph.
+                        </p>
+                        <p>
+                            If interested in a single field or a few fields of a persistence capable object it's
+                            recommended to perform a <a href="site:query/report-queries">Report Query</a> to get
+                            an array of the fields instead of quering the whole object.
+                        </p>
                     </li>
                     <li><p>The <a href="site:advanced-technique/persistent-field"><code>PersistentField</code> class
                         implementation</a>. See <a href="ext:ojb.properties">OJB.properties section

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml Thu Mar  1 17:06:22 2007
@@ -22,6 +22,7 @@
         <title>Platforms</title>
         <authors>
             <person name="Thomas Mahler" email="thma@apache.org"/>
+            <person name="Armin Waibel" email=""/>
         </authors>
     </header>
 
@@ -50,22 +51,28 @@
         <section>
             <title>Basic Concepts</title>
 
-            <anchor id="platform-declaration"/>
+            <anchor id="declaration"/>
             <section>
-                <title>Database Platform declaration</title>
+                <title>Database Platform</title>
                 <p>
                     The database platform is declared in the
                     <a href="site:repository/jdbc-connection-descriptor">jdbc-connection-descriptor</a> using
                     the <em>platform</em> attribute. OJB supports many popular databases:
                 </p>
                 <p>
-                    Db2 | Hsqldb | Informix | MsAccess | MsSQLServer | MySQL | Oracle | PostgreSQL |
-                    Sybase | SybaseASE | SybaseASA | Sapdb | Firebird | Axion | Oracle9i (or higher) |
+                    Db2 | Hsqldb | Informix | MsAccess | MsSQLServer | MySQL | Axion | PostgreSQL |
+                    Sybase | SybaseASE | SybaseASA | Sapdb | Firebird | Oracle | Oracle9i (or higher) |
                     MaxDB | Derby
                 </p>
                 <p>
                     Additionally it's possible to specifiy custom <a href="ext:platform"><code>Platform</code></a>
-                    implementation classes.
+                    implementation classes (more details see
+                    <a href="site:repository/jcd-attributes">jdbc-connection-descriptor <em>platform</em> attribute</a>).
+                </p>
+                <p>
+                    The <a href="ext:platform"><code>Platform</code></a> implementation class handles all platform
+                    specific operations like <em>join syntax type detection</em>, <em>quote syntax</em>,
+                    <em>limit/offset syntax</em> ...etc.
                 </p>
             </section>
 
@@ -107,7 +114,7 @@
                         </td>
                         <td>
                             Table for the <a href="site:sequence-manager/high-low-sequence">high/low sequence manager</a>.
-                            The column <em>NAME</em> was used to persist the sequence name.
+                            The column <em>TABLENAME</em> is used to persist the sequence name.
                             <br/>
                             If the built-in OJB sequence manager is not used, this table is not needed.
                         </td>
@@ -257,15 +264,12 @@
                 </table>
 
                 <p>
-                    OJB uses
-                    <a href="ext:torque">Torque</a>
-                    to create all required tables and data.
-                    Thus there is no SQL DDL file, but an XML file describing the
-                    tables in format readable by Torque.
-
-                    The Torque DDL information for the internal tables resides in the
-                    file
-                    <code>src/schema/ojbcore-schema.xml</code>.
+                    OJB can use <a href="ext:ddlutils">DdlUtils</a> to create all required
+                    tables and data. Thus there is no SQL DDL file, but an XML file describing the
+                    tables in format readable by this tools.
+
+                    The DDL information for the internal tables resides in the
+                    file <code>src/schema/ojbcore-schema.xml</code>.
                 </p>
                 <p>
                     The o/r mappings for these tables are contained in the file
@@ -273,8 +277,9 @@
                 </p>
                 <p>
                     If you want to have a look at how these files could be used,
-                    have a look at the the <a href="site:getting-started">ojb-blank</a>
-                    sample project which is already prepared to use these files.
+                    have a look at the <a href="site:getting-started">ojb-blank
+                    sample project</a> of the <em>getting-started document</em> which is
+                    already prepared to use these files.
                 </p>
 
             </section>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml Thu Mar  1 17:06:22 2007
@@ -22,6 +22,7 @@
         <title>OJB Queries</title>
         <authors>
             <person name="Jakob Braeuchi" email="jbraeuchi@gmx.ch"/>
+            <person name="Armin Waibel" email=""/>
         </authors>
     </header>
 
@@ -32,16 +33,17 @@
                 This tutorial describes the use of the different queries mechanisms.
                 The sample code shown here is taken mainly from JUnit test classes. The junit test
                 source can be found under
-                <code>[db-ojb]/src/test</code> in the source distribution.
+                <code>[db-ojb]/src/test</code> in the source distribution. Here you can find more details
+                about the <a href="site:test-suite">OJB Test-Suite</a>.
             </p>
         </section>
 
 
         <anchor id="query-by-criteria"/>
         <section>
-            <title>Query by Criteria</title>
+            <title>The Criteria-API</title>
             <p>
-                In this section you will learn how to use the query by criteria.
+                In this section you will learn how to use the <em>Criteria-API</em>.
                 The classes are located in the package
                 <code>org.apache.ojb.broker.query</code>.
                 Using query by criteria you can either
@@ -202,6 +204,7 @@
                 </section>
             </section>
 
+            <anchor id="ordering"/>
             <section>
                 <title>ordering and grouping</title>
                 <p>
@@ -250,8 +253,20 @@
                 </p>
             </section>
 
+
+            <anchor id="pagination"/>
+            <section>
+                <title>Pagination and Limiting of query results</title>
+                <p>
+                    !!TODO!!
+                </p>
+                
+            </section>
+
+
+            <anchor id="subqueries"/>
             <section>
-                <title>subqueries</title>
+                <title>Subqueries</title>
                 <p>
                     Subqueries can be used instead of values in selection criteria.
                     The subquery should thus be a ReportQuery.
@@ -412,7 +427,7 @@
 		</p>
             </section>
 
-
+            <anchor id="user-defined-alias"/>
             <section>
                 <title>user defined alias</title>
                 <p>
@@ -528,6 +543,7 @@
                 </note>
             </section>
 
+            <anchor id="class-hints"/>
             <section>
                 <title>class hints</title>
                 <p>
@@ -569,6 +585,8 @@
 
             </section>
 
+
+            <anchor id="prefetched-relations"/>
             <section>
                 <title>prefetched relationships</title>
                 <p>
@@ -644,9 +662,19 @@
 
             <anchor id="query-by-identity"/>
             <section>
-                <title>Lookup object by <code>Identity</code> (primary key)</title>
+                <title>find by Primary Key (by <code>Identity</code>)</title>
+                <p>
+                    How to lookup object by primary key (by object <code>Identity</code>) is explained
+                    in <a href="site:pb-tutorial/find-by-pk">the PB-tutorial</a>.
+                </p>
+            </section>
+
+            <anchor id="query-by-example"/>
+            <section>
+                <title>query by example</title>
                 <p>
-                    See <a href="site:pb-tutorial/find-by-pk">lookup object by <code>Identity</code> here</a>.
+                    How to do a <em>query by example</em> is explained
+                    in <a href="site:pb-tutorial/query-by-example">the PB-tutorial</a>.
                 </p>
             </section>
 

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/repository.xml Thu Mar  1 17:06:22 2007
@@ -59,9 +59,10 @@
                 </li>
                 <li>
                     <a href="ext:ojb/repository_internal.xml">the repository_internal.xml</a>.
-                    This file contains the mapping information for the OJB internal tables.
-                    These tables are used for implementing SequenceManagers and
-                    persistent collections.
+                    This file contains the mapping information for the OJB
+                    <a href="site:platform/internal-tables">internal tables</a>.
+                    These tables are used by a <a href="site:sequence-manager/high-low-sequence">SequenceManager</a>
+                    implementation and some specific optional ODMG persistent-collection classes.
                 </li>
                 <li>
                     <a href="ext:ojb/repository_user.xml">the repository_user.xml</a>.
@@ -239,12 +240,18 @@
                         instances of a proxied class should be loaded in a single query when the proxy is
                         first accessed.
                     </p>
+                    <p>
+                        The <em>state-detection</em> 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).
+                    </p>
                         <source><![CDATA[
 <!ATTLIST descriptor-repository
 	version (1.0) #REQUIRED
 	isolation-level (read-uncommitted | read-committed | repeatable-read |
 	                 serializable | optimistic | none) "read-uncommitted"
 	proxy-prefetching-limit CDATA "50"
+	state-detection (true | false) "true"
 >]]></source>
                 </section>
             </section>
@@ -528,6 +535,14 @@
                         'autoCommit' state at connection initialization.
                     </p>
                     <p>
+                        Attribute <em>nativeLimitOffset</em>: If set <em>true</em> OJB use the native database
+                        LIMIT and OFFSET syntax for
+                        <a href="site:query/pagination">limit and paging queries</a> (if it's supported by the
+                        DB and OJB's <a href="site:platform/declaration">Platform implementation class</a>).
+                        If set 'false' OJB simulate limit and paging
+                        by a specific result set iterator (this can result in bad performance on big result sets).
+                    </p>
+                    <p>
                         Other platform specific settings are shown below.
                     </p>
                     <p>
@@ -551,6 +566,14 @@
     -->
     <attribute attribute-name="initializationCheck" attribute-value="false" />
 
+    <!--
+        If set 'true' OJB use the native database LIMIT and OFFSET syntax
+        for limit and paging queries (if it's supported by the DB 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) -->
 
@@ -968,7 +991,14 @@
                         Usage example of supported custom attributes:
                     </p>
                     <source><![CDATA[
-<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
+<sequence-manager className="memory">
+    <!-- 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 -->
@@ -989,6 +1019,13 @@
     <!-- 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 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>]]></source>
                 </section>
             </section>
@@ -1268,22 +1305,37 @@
                     when loaded from cache. Means all field values (except references) will be replaced by values
                     retrieved from the database. It's set to <em>false</em> by default.
                 </p>
+                <p>
+                    The <em>state-detection</em> attribute is used by API's supporting automatic state detection
+                    of persistence capable objects (e.g. odmg-api implementation does). The attribute indicate
+                    whether or not this class should be included in object state detection (automatic detection
+                    of changed object fields). If <em>state-detection</em> is generally disabled, this setting
+                    will (normally) be ignored.
+                </p>
+                <p>
+                    The <em>field-class</em> attribute can be used to override the
+                    <a href="site:advanced-technique/persistent-field"><code>PersistentField</code></a> implementation
+                    class.
+                </p>
+
                 <source><![CDATA[
 <!ATTLIST class-descriptor
-    class ID #REQUIRED
-    isolation-level (read-uncommitted | read-committed |
-        repeatable-read | serializable | optimistic | none) "read-uncommitted"
-    proxy CDATA #IMPLIED
-    proxy-prefetching-limit CDATA #IMPLIED
-    schema CDATA #IMPLIED
-    table CDATA #IMPLIED
-    row-reader CDATA #IMPLIED
+	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"
+	accept-locks (true | false) "true"
+	initialization-method CDATA #IMPLIED
+	factory-class CDATA #IMPLIED
+	factory-method CDATA #IMPLIED
+	refresh (true | false) "false"
+	state-detection CDATA #IMPLIED
+	field-class CDATA #IMPLIED
 >]]></source>
             </section>
         </section>
@@ -1457,30 +1509,46 @@
                     refer to a Java attribute of the class, but is used as a unique
                     identifier only. More info about <a href="site:anonymous-keys">anonymous keys here</a>.
                 </p>
+                <p>
+                    The <em>state-detection</em> 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
+                    <a href="site:repository/class-descriptor">class-descriptor</a>, this setting will (normally)
+                    be ignored.
+                </p>
+                <p>
+                    The <em>field-class</em> attribute can be used to override the
+                    <a href="site:advanced-technique/persistent-field"><code>PersistentField</code></a> implementation
+                    class.
+                </p>
                 <source><![CDATA[
 <!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) #REQUIRED
-    primarykey (true | false) "false"
-    nullable (true | false) "true"
-    indexed (true | false) "false"
-    autoincrement (true | false) "false"
+	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"
+	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 CDATA #IMPLIED
+	field-class CDATA #IMPLIED
 >]]></source>
             </section>
 

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/sequencemanager.xml Thu Mar  1 17:06:22 2007
@@ -538,6 +538,12 @@
                         for a given sequence name (specified in <em>field-descriptor</em>) no database sequence
                         can be found.
                     </p>
+                    <note>
+                        If <a href="site:advanced-technique/extents">inheritance by extents</a> with separate tables
+                        for each class is used the <em>sequence name</em> have to be
+                        <a href="#extent-aware">"extent aware"</a> - use the same <em>sequence name</em> for all
+                        tables of the inheritance-hierarchy.
+                    </note>
                     <p>
                         The table below show additional <em>sequence properties</em>. To specifiy the properties
                         use <a href="site:repository/custom-attribute">custom-attributes</a>
@@ -713,23 +719,12 @@
                     <title>Database Identity-column based sequence manager</title>
                     <p>
                         This sequence manager implementation supports database <em>Identity columns</em>
-                        (supported by MySQL, MsSQL, HSQL, ...). When using identity columns we have to do
-                        a trick to make the sequence manager work.
-                        <br/>
-                        OJB identify each persistence capable object by a unique
-                        <a href="ext:identity">ojb-Identity object</a>. These ojb-Identity
-                        objects were created using the sequence manager instance to
-                        get UID's. Often these ojb-Identity objects were created before
+                        (supported by MySQL, MsSQL, HSQL, ...). This <em>sequence manager</em> implementation
+                        is different from others because the generated sequence keys can only be obtained after
                         the persistence capable object was written to database.
                         <br/>
-                        When using Identity columns it is not possible to retrieve the next
-                        valid UID before the object was written to database. As recently as
-                        the real object was written to database, you can ask the DB for the last
-                        generated UID. Thus in SequenceManagerNativeImpl we have to do a trick and use
-                        a 'temporary' UID till the object was written to database.
-                        <br/>
-                        So for best compatibility try to avoid using <em>Identity columns</em> in your
-                        database model. If this is not possible, use this sequence manager implementation to
+                        So for best compatibility with other databases try to avoid using <em>Identity columns</em>
+                        in your database model. If this is not possible, use this sequence manager implementation to
                         work with database <em>Identity columns</em>.
                     </p>
                     <p>
@@ -742,17 +737,32 @@
                     </p>
                     <source><![CDATA[
 <!--<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerIdentityImpl"/>-->
-<sequence-manager className="identity"/>]]></source>
+<sequence-manager className="identity">
+    <!-- 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>]]></source>
+                    <p>
+                        With the custom attribute <em>seq.generatedKeys</em> it's possible to decide how
+                        OJB lookup the generated database identity key. If set <em>true</em> OJB use the JDBC 3.0 method
+                        <code>Statement.getGeneratedKeys()</code> to obtain generated database identity keys. If set
+                        <em>false</em> OJB use a separate database specific <em>"last identity call"</em> query to
+                        request the generated identity key. By default the JDBC 3.0 method call is used, if supported by
+                        the database driver.
+                    </p>
                     <p>
                         To declare the identity column in the persistent class mapping
                         <a href="site:repository/class-descriptor">class-descriptor</a>, add the
                         following attributes to the primary key/identity key
                         <a href="site:repository/field-descriptor">field-descriptor</a>:
-                        <br/>
+                    </p>
+                    <p>
                         <code>primarykey="true"</code>,
                         <code>autoincrement="true"</code> and
                         <strong><code>access="readonly"</code></strong>
-                        <br/>
+                    </p>
+                    <p>
                         The first and second attributes are the same as all sequence manager implementations
                         use to support autoincrement PK fields, the third one is mandatory for database
                         <em>Identity columns</em> only.
@@ -765,15 +775,20 @@
         primarykey="true"
         autoincrement="true"
         access="readonly"/>]]></source>
+                    <note>
+                        If declaring <a href="site:advanced-technique/extents">inheritance by "extents"</a>
+                        the primary key or compounded key (declared on OJB level) have to be
+                        <a href="#extent-aware">extent aware</a>.
+                        The use of <em>Identity columns</em> is <strong>not extent aware</strong>.
+                        <br/>
+                        More info about <em>extent aware keys</em> and how to use identity columns
+                        in a <em>extent aware</em> manner <a href="#extent-aware">here</a>.
+                    </note>
                     <p>
                         Limitations:
                         <br/>- The Identity columns have to
                         <strong>start with value greater than '0'</strong> and should
                         never be negative.
-                        <br/>- Use of Identity columns is
-                        <strong>not extent aware</strong> (This may change in further versions).
-                        More info
-                        <a href="#extent-aware">here</a>.
                     </p>
                 </section>
 
@@ -809,7 +824,7 @@
     <attribute attribute-name="seq.autoNaming" attribute-value="true"/>
 </sequence-manager>]]></source>
                     <p>
-                        For attribute <a href="#auto-naming"><em>seq.autoNaming</em> see</a>.
+                        More details about attribute <a href="#auto-naming"><em>seq.autoNaming</em> see here</a>.
                     </p>
                     <p>
                         This sequence manager implementation supports user defined
@@ -1082,7 +1097,7 @@
                 </p>
                 <source><![CDATA[
 <sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
-<attribute attribute-name="seq.autoNaming" attribute-value="true"/>
+    <attribute attribute-name="seq.autoNaming" attribute-value="true"/>
 </sequence-manager>]]></source>
                 <p>
                     If set <em>true</em> OJB try to build a
@@ -1201,30 +1216,145 @@
                 <anchor id="extent-aware"/>
                 <section>
                     <title>What to hell does
-                        <em>extent aware</em> mean?
+                        <em>"extent aware"</em> mean?
                     </title>
                     <p>
-                        Say we have an abstract base class
-                        <code>Animal</code> and two classes
-                        <code>Dog</code> and
-                        <code>Cat</code>
-                        which extend
-                        <code>Animal</code>. For each non-abstract class we create a separate
-                        database table and
-                        <a href="site:advanced-technique/polymorphism">declare the inheritance</a> in OJB.
-                        <br/>
-                        Now it is possible to do a query like
-                        <em>give me all animals</em> and OJB will return all <code>Cat</code> and <code>Dog</code>
-                        objects. To make this working in OJB
+                        Say we have an abstract base class <code>Animal</code> (or interface) and two classes
+                        <code>Dog</code> and <code>Cat</code> which extend <code>Animal</code>. For each
+                        non-abstract class we create a separate database table and
+                        <a href="site:advanced-technique/extents">declare the inheritance by declaring an "extent"</a>
+                        in OJB.
+                        <br/>
+                        Now it is possible to do a query like <em>"give me all animals"</em> and OJB will return all
+                        <code>Cat</code> and <code>Dog</code> objects.
+                    </p>
+                    <p>
+                        To make this working in OJB
                         the ID's of <code>Dog</code> and <code>Cat</code> objects must be unique across the
-                        tables of both classes or else you may not get a vaild query result (e.g. you can't
+                        tables of both classes or else you may not get
+                        <br/>
+                        - a vaild query result (e.g. you can't
                         query for the <code>Animal</code> with <em>id=23</em>, because in both tables such an id
-                        can exist).
+                        can exist)
                         <br/>
-                        The reason for this behaviour is the
+                        - unique OJB identity objects (instances of
                         <a href="ext:identity"><code>org.apache.ojb.broker.Identity</code></a>
-                        class implementation (more details see javadoc/source of this class).
+                         used by OJB or to lookup persistent objects by "primary key"/identity) which based
+                        on the primary key values of the object and the top-level class name (e.g. in the example
+                        above it would be Identity[23, Animal.class]).
+                    </p>
+                   <p>
+                       Thus if you for example use <a href="#identity-columns">database identity columns</a> in the
+                       <code>Dog</code> and <code>Cat</code> tables the problem described above occur.
+                       <br/>
+                       The problem can be solved
+                       <br/>
+                       - by using a compounded primary key on OJB level (the field associated with the identity
+                       column + another field make the compounded key unique across different tables)
+                       <br/>
+                       - or by including a <em>discriminator field/column</em> with the class name of the object:
+                   </p>
+                    <source><![CDATA[
+abstract class Animal implements Serializable
+{
+    private Integer id;
+    /**
+     * This special attribute telling OJB which concrete class
+     * this Object has.
+     * NOTE: this attribute MUST be called ojbConcreteClass
+     */
+    private String ojbConcreteClass;
+
+    public Animal()
+    {
+        ojbConcreteClass=this.getClass().getName();
+    }
+    ...
+}
+
+public class Dog extends Animal
+{
+    ...
+}
+
+// the mapping:
+<class-descriptor class="Animal">
+    <extent-class class-ref="Dog" />
+    <extent-class class-ref="Cat" />
+</class-descriptor>
+
+<class-descriptor class="Dog" table="DOG">
+    <field-descriptor
+    name="id"
+    column="ID_"
+    jdbc-type="INTEGER"
+    primarykey="true"
+    autoincrement="true"
+    access="readonly"
+    />
+
+    <field-descriptor
+    name="ojbConcreteClass"
+    column="CLASS_NAME"
+    jdbc-type="VARCHAR"
+    />
+        ...
+</class-descriptor>
+
+<class-descriptor class="Cat" table="CAT">
+    <field-descriptor
+    name="id"
+    column="ID_"
+    jdbc-type="INTEGER"
+    primarykey="true"
+    autoincrement="true"
+    access="readonly"
+    />
+
+    <field-descriptor
+    name="ojbConcreteClass"
+    column="CLASS_NAME"
+    jdbc-type="VARCHAR"
+    />
+        ...
+</class-descriptor>]]></source>
+                    <p>
+                        If you use <a href="#database-sequences-based">database sequences</a> based keys let
+                        OJB handle the sequence names or take care
+                        to use the same sequence name for all <a href="site:advanced-technique/extents">extents</a>
+                        in the inheritance hierarchy:
                     </p>
+                    <source><![CDATA[
+<class-descriptor class="Animal">
+    <extent-class class-ref="Dog" />
+    <extent-class class-ref="Cat" />
+</class-descriptor>
+
+<class-descriptor class="Dog" table="DOG">
+    <field-descriptor
+    name="id"
+    column="ID_"
+    jdbc-type="INTEGER"
+    primarykey="true"
+    autoincrement="true"
+    sequence-name="dog_cat_seq"
+    />
+        ...
+</class-descriptor>
+
+<class-descriptor class="Cat" table="CAT">
+    <field-descriptor
+    name="id"
+    column="ID_"
+    jdbc-type="INTEGER"
+    primarykey="true"
+    autoincrement="true"
+    sequence-name="dog_cat_seq"
+    />
+
+        ...
+</class-descriptor>
+                    ]]></source>
                 </section>
 
 
@@ -1232,17 +1362,13 @@
                 <section>
                     <title>How could I prevent auto-build of the sequence-name?</title>
                     <p>
-                        All shipped
-                        <code>SequenceManager</code> implementations which using sequence names
-                        for UID generation, support by default auto-build (seq.autoNaming) of the sequence name
-                        if none was found in the
-                        <code>field-descriptor</code>.
-                        <br/>
-                        To prevent this, all relevant SM implementations support a
-                        <code>seq.autoNaming</code>
-                        property - set via
-                        <code>attribute</code> element. If set
-                        <code>false</code> OJB doesn't
+                        All sequence name based <code>SequenceManager</code> implementations by default support
+                        auto-build of the sequence name if no valid attribute <em>sequence-name</em> can be
+                        found in the <code>field-descriptor</code>.
+                        <br/>
+                        To prevent auto-generation of sequence names, all relevant <em>sequence manager</em>
+                        implementations support a <a href="site:repository/custom-attribute">custom attribute</a>
+                        <code>seq.autoNaming</code>. If set <code>false</code> OJB doesn't
                         try to build sequence names automatic.
                         </p>
 <source><![CDATA[
@@ -1285,11 +1411,11 @@
                         That's no problem:
                     </p>
                     <source><![CDATA[
-                    PersistenceBroker broker =
-                    PersistenceBrokerFactory.createPersistenceBroker(myPBKey);
-                    SequenceManager sm = broker.serviceSequenceManager();
-                    ...
-                    broker.close();]]></source>
+PersistenceBroker broker =
+PersistenceBrokerFactory.createPersistenceBroker(myPBKey);
+SequenceManager sm = broker.serviceSequenceManager();
+...
+broker.close();]]></source>
                     <p>
                         If you use
                         <code>autoincrement=true</code> in your

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/tutorials/pb-tutorial.xml Thu Mar  1 17:06:22 2007
@@ -214,13 +214,23 @@
 
 
             <anchor id="query-objects"/>
+            <anchor id="query-by-example"/>
             <section>
                 <title>Querying Persistent Objects</title>
                 <p>
                     Once objects have been stored to the database, it is important to be able to get them
                     back. The PersistenceBroker API provides two mechanisms for
-                    <a href="site:query">building queries</a>, by
-                    using a template object, or by using specific criteria.
+                    <a href="site:query">building queries</a>:
+                    <br/>
+                    - using a template object, so called "query by example"
+                    <br/>
+                    - using specific criterias
+                </p>
+                <p>
+                    <strong>query by example</strong>
+                </p>
+                <p>
+                    In this tutorial we first use a "query by example", because it's easy to explain.
                 </p>
                 <source><![CDATA[
 public static Product findByTemplate(Product template)
@@ -230,7 +240,7 @@
     try
     {
         broker = PersistenceBrokerFactory.defaultPersistenceBroker();
-        QueryByCriteria query = QueryFactory.newQuery(template);
+        Query query = QueryFactory.newQueryByExample(template);
         result = (Product) broker.getObjectByQuery(query);
     }
     finally
@@ -242,9 +252,17 @@
                 <p>
                     This function finds a
                     <code>Product</code> by building a query against a template
-                    <code>Product</code>. The template should have any properties set which should
-                    be matched by the query. Building on the previous example where a product
-                    was stored, we can now query for that same product:
+                    <code>Product</code> object. The template should have any properties set which should
+                    be matched by the query.
+               </p>
+               <note>
+                   All nullified fields and references of the template object will be completely
+                   ignored. Take care of primitive fields, OJB will always set the associated values
+                   in the query (primitive number fields are initialized with '0' by default).
+               </note>
+               <p>
+                    Building on the previous example where a product was stored, we can now query for that
+                    same product:
                 </p>
                 <source><![CDATA[
 Product product = new Product();
@@ -270,8 +288,11 @@
                     are not used to match.
                 </p>
                 <p>
-                    An alternate, and more flexible, way to have specified a query via the
-                    PersistenceBroker API is by constructing the criteria on the query
+                    <strong>query by Criteria-API</strong>
+                </p>
+                <p>
+                    An alternate, and more flexible, way is to perform a query via the
+                    <em>PersistenceBroker-Criteria API</em> is by constructing the criteria on the query
                     by hand. The following function does this.
                 </p>
                 <source><![CDATA[
@@ -282,11 +303,9 @@
     try
     {
         broker = PersistenceBrokerFactory.defaultPersistenceBroker();
-
-        Criteria criteria = new Criteria();
-        criteria.addLessOrEqualThan("stock", new Integer(20));
-        criteria.addGreaterOrEqualThan("price", new Double(100000.0));
-
+        Criteria criteria = new Criteria()
+                            .addLessOrEqualThan("stock", new Integer(20))
+                            .addGreaterOrEqualThan("price", new Double(100000.0));
         QueryByCriteria query = QueryFactory.newQuery(Product.class, criteria);
         results = broker.getCollectionByQuery(query);
     }
@@ -304,6 +323,10 @@
                     <code>criteria.addLessOrEqualThan("stock", new Integer(10));</code> notice the arguments.
                     The first is the property name on the object being queried for. The second is an
                     <code>Integer</code> instance to be used for the comparison.
+                </p>
+                <p>
+                    For more details about how to perform queries with the <em>Criteria-API</em> please refer to the
+                    <a href="site:query/query-by-criteria">query-guide</a>
                 </p>
                 <p>
                     After the

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml Thu Mar  1 17:06:22 2007
@@ -33,7 +33,7 @@
 <site label="OJB" href="" tab="home" xmlns="http://apache.org/forrest/linkmap/1.0">
 
     <ojb label="OJB">
-        <index label="Home" href="index.html"/>
+        <index label="" href="index.html"/>
         <news label="News" href="news.html"/>
         <features label="Features" href="features.html"/>
         <!-- faq label="FAQ's" href="site:faq" / -->
@@ -48,29 +48,30 @@
             <design href="#design"/>
             <more-or href="#more-or"/>
         </links>
-    </ojb>
 
-    <download label="Download">
-        <binaries label="Binaries" href="ext:ojb/binaries-version"/>
-        <source label="Source" href="ext:ojb/source-version"/>
-    </download>
-
-    <development label="Development">
-        <todo label="OJB SVN" href="ext:ojb/svn-view"/>
-        <todo label="Apache SVN" href="ext:ojb/svn-index"/>
-        <license label="License" href="ext:ojb/license-site"/>
-        <!-- todo label="Todo" href="todo.html" / -->
-        <coding label="Coding Standards" href="code-standards.html"/>
-    </development>
-
-    <all label="Index">
-        <linkmap label="Sitemap" href="linkmap.html"/>
-        <!--<whole_site_html label="Site as HTML" href="site.html"/>-->
-        <whole_site_pdf label="Site as PDF" href="site.pdf"/>
-    </all>
 
+        <download label="Download">
+            <source label="Source &amp; Binaries" href="ext:ojb/source-version"/>
+        </download>
+
+        <development label="Development">
+            <svn label="OJB SVN" href="svn-info.html"/>
+            <todo label="Browse OJB" href="ext:ojb/svn-view"/>
+            <todo label="Browse Apache" href="ext:ojb/svn-index"/>
+            <license label="License" href="ext:ojb/license-site"/>
+            <!-- todo label="Todo" href="todo.html" / -->
+            <coding label="Coding Standards" href="code-standards.html"/>
+        </development>
+
+        <all label="Index">
+            <linkmap label="Sitemap" href="linkmap.html"/>
+            <!--<whole_site_html label="Site as HTML" href="site.html"/>-->
+            <whole_site_pdf label="Site as PDF" href="site.pdf"/>
+        </all>
+    </ojb>
 
     <documentation label="Documentation" href="docu/" tab="documentation">
+
         <index label="Summary" href="index.html"/>
         <faq label="FAQ's" href="faq.html">
             <apis href="#apis"/>
@@ -95,6 +96,7 @@
             </mapping-tutorial>
             <pb-tutorial label="The PB API" href="pb-tutorial.html">
                 <find-by-pk href="#find-by-pk"/>
+                <query-by-example href="#query-by-example"/>
                 <exception-handling href="#exception-handling"/>
             </pb-tutorial>
             <odmg-tutorial label="The ODMG API" href="odmg-tutorial.html"/>
@@ -124,7 +126,7 @@
                 <pb-access href="#pb-access"/>
             </odmg-guide>
             <platform label="Platform settings" href="platforms.html">
-                <platform-declaration href="#platform-declaration"/>
+                <declaration href="#declaration"/>
                 <internal-tables href="#internal-tables"/>
                 <select-profile href="#select-profile"/>
             </platform>
@@ -138,6 +140,7 @@
                 <introduction href="#introduction"/>
                 <descriptor-repository href="#descriptor-repository"/>
                 <jdbc-connection-descriptor href="#jdbc-connection-descriptor"/>
+                <jcd-attributes href="#jcd-attributes"/>
                 <connection-pool href="#connection-pool"/>
                 <class-descriptor href="#class-descriptor"/>
                 <field-descriptor href="#field-descriptor"/>
@@ -194,6 +197,9 @@
                 <jdo-oql href="#jdo-oql"/>
                 <prefetched-relationships href="#prefetched-relationships"/>
                 <report-queries href="#report-queries"/>
+                <ordering href="#ordering"/>
+                <pagination href="#pagination"/>
+                <subqueries href="#subqueries"/>
             </query>
             <metadata label="Metadata handling" href="metadata.html">
                 <when-read-in href="#when-read-in"/>
@@ -411,6 +417,15 @@
             <sequencing-mail href="http://mail-archives.apache.org/mod_mbox/db-ojb-user/200605.mbox/%3c445B43D3.800@mgrinformatica.com.br%3e"/>
         </mssql>
         <eclipse href="http://www.eclipse.org/"/>
+        <tigris>
+          <subclipse href="http://subclipse.tigris.org/"/>
+          <svn href="http://subversion.tigris.org/"/>
+          <svn-up href="http://svnup.tigris.org/"/>
+          <tortoisesvn href="http://tortoisesvn.tigris.org"/>
+        </tigris>
+        <netbeans href="http://www.netbeans.org/">
+          <subversion-profile href="http://vcsgeneric.netbeans.org/profiles/index.html"/>
+        </netbeans>
         <idea href="http://www.jetbrains.com/idea/index.html"/>
         <mozilla href="http://www.mozilla.org/"/>
         <andromda href="http://andromda.sf.net/"/>
@@ -440,14 +455,13 @@
         <clepsydra href="http://clepsydra.javaforge.com/"/>
 
 
-
         <!-- Article links used within OJB -->
         <article>
             <spring-ojb-part-1 href="http://staff.osuosl.org/~mckerrj/?p=3"/>
             <spring-ojb-part-2 href="http://staff.osuosl.org/~mckerrj/?p=4"/>
             <spring-ojb-part-3 href="http://staff.osuosl.org/~mckerrj/?p=8"/>
             <springframework-and-ojb href="http://blogs.codepuccino.com/dude/index.php?p=23"/>
-
+            <cglib-pitfall href="http://blog.springframework.com/rob/archives/2005/08/18/caveats-with-class-proxying-in-spring/"/>
         </article>
     </external-refs>
 </site>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/status.xml Thu Mar  1 17:06:22 2007
@@ -37,6 +37,8 @@
             <td class="ojb">
                 <p>
                     The PB (Persistence Broker) API implementation is <strong>stable</strong>.
+                    <br/>
+                    <br/>
                 </p>
             </td>
             </tr>

Added: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml?view=auto&rev=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml (added)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/svn-info.xml Thu Mar  1 17:06:22 2007
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+  <header>
+    <title>OJB's source repository</title>
+  </header>
+  <body>
+    <section>
+      <title>Necessary software</title>
+      <p>
+        OJB project uses <a href="ext:tigris/svn">SVN</a> for its source repository. To access it
+        you need a SVN client. Unix and Linux systems usually have the <code>svn</code>
+        tool built in. For Windows you'll need an additional tool like
+        <a href="ext:tigris/tortoisesvn">TortoiseSVN</a>. Also, most modern IDEs have SVN support
+        built in or there are plugins that provide this ability.
+      </p>
+    </section>
+    <section>
+      <title>Unix-based and Linux systems</title>
+      <p>
+        The <code>svn</code> command is usually readily available in these systems. Here all
+        you need to do is to change to a directory where you want to put OJB into, and
+        then issue these commands:
+      </p>
+      <source><![CDATA[
+svn co http://svn.apache.org/repos/asf/db/ojb/trunk ojb]]></source>
+      <p>
+        This will checkout the current development version of OJB in read-only mode.
+        This means you can play around with the source without fear for breaking anything
+        as the changes cannot be checked back in.
+      </p>
+      <source><![CDATA[
+svn co http://svn.apache.org/repos/asf/db/ojb/branches/OJB_1_0_RELEASE ojb]]></source>
+      <p>
+        This will checkout the 1.0.x version branch of OJB in read-only mode.
+      </p>
+      <note>
+        If you're a committer, you'll have to replace the <code>http</code> with
+        <code>https</code>.
+      </note>
+    </section>
+    <section>
+      <title>Windows systems</title>
+      <p>
+        For Windows systems, one of the available SVN clients is
+        <a href="ext:tigris/tortoisesvn">TortoiseSVN</a> which is an Explorer extension.
+        After you've installed it and rebooted you computer (which is necessary
+        because of it nature as an Explorer extension), you'll have additional
+        options in the context menu in Explorer. Change to a directory where you
+        want to checkout OJB, choose the "SVN Checkout ..." option
+        from the context menu and you'll get a dialog to specify the URL of the repository - type:
+      </p>
+        <source><![CDATA[
+http://svn.apache.org/repos/asf/db/ojb]]></source>
+        <p>
+        After you clicked OK, TortoiseSVN will checkout to the designated place. Once it
+        has finished you can start using OJB.
+      </p>
+        <note>
+            If you're a committer, you'll have to replace the <code>http</code> with
+            <code>https</code>.
+        </note>
+    </section>
+    <section>
+      <title>IDEs</title>
+      <p>
+        For Java IDEs, you usually have to install a plugin in order to get SVN support.
+      </p>
+      <table>
+        <tr>
+          <th>IDE</th>
+          <th>Plugin/Extension</th>
+        </tr>
+        <tr>
+          <td><a href="ext:eclipse">Eclipse</a></td>
+          <td><a href="ext:tigris/subclipse">Subclipse</a></td>
+        </tr>
+        <tr>
+          <td><a href="ext:idea">JetBrains IDEA</a></td>
+          <td><a href="ext:tigris/svn-up">svn-up</a></td>
+        </tr>
+        <tr>
+          <td><a href="ext:netbeans">NetBeans</a></td>
+          <td><a href="ext:netbeans/subversion-profile">Subversion profile</a></td>
+        </tr>
+      </table>
+      <p>
+        Please refer to the documentation of the IDE and the plugin/extension for how to install
+        and use the plugin/extension. The location of the OJB repository is
+      </p>
+      <source><![CDATA[
+http://svn.apache.org/repos/asf/db/ojb]]></source>
+      <p>
+        which you can access anonymously (without user name and password).
+      </p>
+        <note>
+            If you're a committer, you'll have to replace the <code>http</code> with
+            <code>https</code>.
+        </note>
+    </section>
+  </body>
+</document>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/resources/images/ojb-400-white.png
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/resources/images/ojb-400-white.png?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
Binary files - no diff available.

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml?view=diff&rev=513574&r1=513573&r2=513574
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/skinconf.xml Thu Mar  1 17:06:22 2007
@@ -189,6 +189,7 @@
         font-family: monospace;
     }
 
+      
     table.ojb {
         background: #F5F5F5;
         border: thin inset Silver;
@@ -274,35 +275,70 @@
     <color name="footer" value="#cedfef"/>
 -->
 
+    <!--
+        tigris: header: top strip containing project and group logos
 
-        <color name="header"    value="#ffffff"/><!-- 003366 -->
+        tigris: tab-selected: value=left menu border color, v/hlink=first tab text color (if tab is enabled in site.xml)
+        tigris: tab-unselected: main tabs-> value=background, v/hlink=text color
+        tigris: subtab-selected: seems no function, but needs to be declared, else color of sub-tabs bar text will be ignored
+        tigris: subtab-unselected: value=sub-tabs bar (with publishing date on left) above the left menue border
+                link=?new link?, v/hlink=text color of the sub-tab text on bar
 
-        <color name="tab-selected" value="#dddddd" link="#555555" vlink="#555555" hlink="#555555"/>
-        <color name="tab-unselected" value="#999999" link="#ffffff" vlink="#ffffff" hlink="#ffffff"/>
-        <color name="subtab-selected" value="#cccccc" link="#000000" vlink="#000000" hlink="#000000"/>
-        <color name="subtab-unselected" value="#cccccc" link="#555555" vlink="#555555" hlink="#555555"/>
+        tigris: heading|subheading: section headings within the content
 
-        <color name="heading" value="#2c3c6d"/>
-        <color name="subheading" value="#bbbdce"/>
+        tigris: navstrip: the strip under the sub-tabs bar, value=background color, v/hlink=text color of
+                the dir-path text on strip
+        tigris: toolbox: value=credits-toolbox strip background color, font=toolboxes text color
+        tigris: border: ?line border around selected menu item?
+        tigris: searchbox: the background of the searchbox
 
-        <color name="navstrip" value="#dddddd" link="#801458" vlink="#801458" hlink="#801458"/>
-        <color name="toolbox" value="#dddddd" font="#555555"/>
+        tigris: menu: the left-hand navigation panel, value=background, link=new link color, v/hlink=text color
+        tigris: dialog: background of (credits) toolbox
+        tigris: body: any remaining parts, e.g. the bottom of the page
+
+        tigris: table: table bar background
+        tigris: table-cell: table cell background
+
+        tigris: highlight:
+        tigris: fixme:
+        tigris: note:
+        tigris: warning:
+        tigris: code:
+
+        tigris: footer: the second from bottom strip containing credit logos and published date
+        tigris: feedback: the optional bottom strip containing feedback link
+    -->
+
+        <color name="header" value="#ffffff"/>
+
+        <color name="tab-selected" value="#D8D8D8" link="#7B7B7B" vlink="#43427A" hlink="#b4005a"/>
+        <color name="tab-unselected" value="#DBDBDB" link="#7B7B7B" vlink="#43427A" hlink="#b4005a"/>
+
+        <color name="subtab-selected" value="#BCBCBC" link="#BCBCBC" vlink="#BCBCBC" hlink="#BCBCBC"/>
+        <color name="subtab-unselected" value="#BCBCBC" link="#13117A" vlink="#13117A" hlink="#b4005a"/>
+
+        <color name="heading" value="#13117A"/>
+        <color name="subheading" value="#6D6BC7"/>
+
+        <color name="navstrip" value="#D8D8D8" link="#13117A" vlink="#13117A" hlink="#b4005a"/>
+        <color name="toolbox" value="#D8D8D8" font="#7B7B7B"/>
         <color name="border" value="#999999"/>
 
-        <color name="menu" value="#f7f7f7"  link="#801458" vlink="#801458" hlink="#b4005a"/>
-        <color name="dialog" value="#eeeeee"/>
+        <color name="menu" value="#f7f7f7"  link="#13117A" vlink="#13117A" hlink="#3D3D3D"/>
+        <color name="dialog" value="#f7f7f7"/>
+
+        <color name="body" value="#ffffff" link="#13117A" vlink="#13117A" hlink="#b4005a"/>
 
-        <color name="body" value="#ffffff" link="#801458" vlink="#801458" hlink="#b4005a"/>
+        <color name="table" value="#DBDBDB"/>
+        <color name="table-cell" value="#F7F7F7"/>
 
-        <color name="table" value="#ccc"/>
-        <color name="table-cell" value="#ffffff"/>
         <color name="highlight" value="#ffff00"/>
         <color name="fixme" value="#6c85b0"/>
-        <color name="note" value="#7F1454"/>
+        <color name="note" value="#7D0561"/>
         <color name="warning" value="#b2a510"/>
         <color name="code" value="#EEEEEE"/>
 
-        <color name="footer" value="#dedfde"/>
+        <color name="footer" value="#D8D8D8"/>
 
 
   <!-- Color group: Krysalis -->



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