You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2010/11/14 06:53:21 UTC

svn commit: r1034935 [3/4] - in /cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide: ./ Ant Tasks/ Ant Tasks/cdataport/ Ant Tasks/cdbgen/ Ant Tasks/cdbimport/ Ant Tasks/cgen/ Caching and Fresh Data/ Caching and Fresh Data/In...

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/Expression Factory Utilities/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Expressions/Expression%20Factory%20Utilities/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/Expression Factory Utilities/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/Expression Factory Utilities/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -57,32 +57,19 @@
 <li><a href="../../../../Documentation/Cayenne Guide/Customization/index.html">Customization</a></li>
 </ul>
 </div>
-<div id="ConfluenceContent"><p>Sometimes there is a need to build an expression by combining other existing expressions. Also quiet often it is desirable to use strongly typed API instead of interpreted string expressions. The following sections describe <a href="http://cayenne.apache.org/doc/api/org/apache/cayenne/exp/ExpressionFactory.html" rel="nofollow">ExpressionFactory</a> and <a href="http://cayenne.apache.org/doc/api/org/apache/cayenne/exp/Expression.html" rel="nofollow">Expression</a> methods that allow to construct expressions step by step via API calls.</p>
+<div id="ConfluenceContent"><p>Sometimes there is a need to build an expression by combining other existing expressions. Also quiet often it is desirable to use strongly typed API instead of interpreted string expressions. The following sections describe <a href="http://cayenne.apache.org/doc/api/org/apache/cayenne/exp/ExpressionFactory.html" class="external-link" rel="nofollow">ExpressionFactory</a> and <a href="http://cayenne.apache.org/doc/api/org/apache/cayenne/exp/Expression.html" class="external-link" rel="nofollow">Expression</a> methods that allow to construct expressions step by step via API calls.</p>
 
 <h3><a name="ExpressionFactoryUtilities-Path%2FValueExpressions"></a>Path/Value Expressions</h3>
 
 <p>The most simple expressions are the ones that match an object property path with a value or a list of values. ExpressionFactory provides a set of methods to build such "path/value" expressions:</p>
 <ul>
 	<li>public static Expression <b>matchExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>noMatchExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>matchDbExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>lessExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>lessOrEqualExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>greaterExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>greaterOrEqualExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>inExp</b>(String pathSpec, Object[] values)</li>
-	<li>public static Expression <b>inExp</b>(String pathSpec, java.util.List values)</li>
-	<li>public static Expression <b>betweenExp</b>(String pathSpec, Object value1, Object value2)</li>
-	<li>public static Expression <b>likeExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>likeIgnoreCaseExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>notInExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>notBetweenExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>notLikeExp</b>(String pathSpec, Object value)</li>
-	<li>public static Expression <b>notLikeIgnoreCaseExp</b>(String pathSpec, Object value)</li>
+	<li>public static Expression <b>noMatchExp</b>(String pathSpec, Object value),</li>
+	<li>etc.. <em>(check JavaDocs of ExpressionFactory for all available factory methods)</em></li>
 </ul>
 
 
-<p>As was mentioned <a href="../../../../Documentation/Cayenne Guide/Expressions/Path Expressions/index.html" title="Path Expressions">earlier</a>, the type of a second Object argument depends on the type of property path points to. It is important to mention that paths that end with a relationship name (both to-one and to-many) can be matched against DataObjects, thus removing the need to know PK or FK values when building expressions. This behavior is not specific to ExpressionFactory, it works the same way with Expression.fromString(..) as well.</p>
+<p>As was mentioned <a href="../../../../Documentation/Cayenne Guide/Expressions/Path Expressions/index.html" title="Path Expressions">earlier</a>, the type of a second Object argument depends on the type of property path points to. It is important to mention that paths that end with a relationship name (both to-one and to-many) can be matched against Persistent objects, thus absolving you from the need to know a PK or FK when building expressions. This behavior is not specific to ExpressionFactory, it works the same way with Expression.fromString(..) as well.</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <pre class="code-java"><span class="code-keyword">import</span> org.apache.cayenne.exp.Expression;
 <span class="code-keyword">import</span> org.apache.cayenne.exp.ExpressionFactory;
@@ -93,8 +80,7 @@
 </span>
 Artist a = ...;
 Expression qual = ExpressionFactory.matchExp(<span class="code-quote">"toArtist"</span>, a);
-SelectQuery select = <span class="code-keyword">new</span> SelectQuery(Painting.class, qual);
-</pre>
+SelectQuery select = <span class="code-keyword">new</span> SelectQuery(Painting.class, qual);</pre>
 </div></div>
 
 <h3><a name="ExpressionFactoryUtilities-ChainingExpressions"></a>Chaining Expressions</h3>
@@ -153,21 +139,34 @@ SelectQuery select = <span class="code-k
 
 <p>Example of creating complex expressions:</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">HashMap map = <span class="code-keyword">new</span> HashMap();
+<pre class="code-java">Map map = <span class="code-keyword">new</span> HashMap();
 map.put(<span class="code-quote">"login"</span>, <span class="code-quote">"joeuser"</span>);
 map.put(<span class="code-quote">"password"</span>, <span class="code-quote">"secret"</span>);
 
 <span class="code-comment">// the last parameter refers to the operation inside each key/value pair. 
 </span>
-Expression qual = ExpressionFactory.matchAllExp(map, Expression.EQUAL_TO);
-</pre>
-</div></div></div>
+Expression qual = ExpressionFactory.matchAllExp(map, Expression.EQUAL_TO);</pre>
+</div></div>
+
+<h3><a name="ExpressionFactoryUtilities-SplitExpressionswith%7B%7BmatchAllExp%28%29%7D%7D"></a>Split Expressions with <tt>matchAllExp()</tt></h3>
+
+<p>As <a href="../../../../Documentation/Cayenne Guide/Expressions/Path Expressions/index.html" title="Path Expressions">discussed</a> earlier, Cayenne supports "aliases" in path Expressions, allowing to control how SQL joins are generated if the same path is encountered more than once in the same Expression. Two ExpressionFactory methods allow to implicitly generate aliases to "split" match paths into individual joins if needed:</p>
+
+<ul>
+	<li>Expression <b>matchAllExp</b>(String path, Collection values)</li>
+	<li>Expression <b>matchAllExp</b>(String path, Object... values)</li>
+</ul>
+
+
+<p>"Path" argument to both of these methods can use a split character (a pipe symbol '|') instead of dot to indicate that relationship following a path should be split into a separate set of joins, one per collection value. There can only be one split at most in any given path. Split must always precede a relationship. E.g. <tt>"|exhibits.paintings"</tt>, <tt>"exhibits|paintings"</tt>, etc. Internally Cayenne would generate distinct aliases for each of the split expressions, forcing separate joins.</p>
+
+</div>
 </div>
   <div class="clearer">.</div>
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/In-Memory Evaluation/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Expressions/In-Memory%20Evaluation/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/In-Memory Evaluation/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/In-Memory Evaluation/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -116,7 +116,7 @@ List startWithA = exp.filterObjects(arti
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/NULL Handling/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Expressions/NULL%20Handling/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/NULL Handling/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/NULL Handling/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -78,7 +78,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/Path Expressions/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Expressions/Path%20Expressions/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/Path Expressions/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/Path Expressions/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -66,23 +66,25 @@
 <ul>
 	<li>"db:" an optional prefix indicating the the following path is a DB path.</li>
 	<li>"segment" - a name of a relationship or an attribute in the path. Path must have at least one segment; segments are separated by dot (".").</li>
-	<li>"+" - OUTER JOIN indicator: a plus sign at the end of a segment name indicates that when a JOIN is created for the path, it must be an OUTER JOIN.</li>
+	<li>"+" - LEFT OUTER JOIN indicator: a plus sign at the end of a segment name indicates that when a JOIN is created for the path, it will be a LEFT OUTER JOIN.</li>
 </ul>
 
 
 <h3><a name="PathExpressions-ObjectPathExpressions"></a>Object Path Expressions</h3>
+
 <p>An Object Path Expression is a property navigation path. Such path is represented by a String made of dot-separated names of properties of a Java Bean class. E.g. a path expression "toArtist.artistName" is a valid property path for a Painting class, pointing to the name of the Artist who created a given Painting. A few more examples:</p>
 
 <ul>
 	<li><tt>paintingTitle</tt> Can be used to navigate to the value of "paintingTitle" property of the Painting class.</li>
-	<li><tt>toArtist.exhibitArray.closingDate</tt> Can be used to navigate to a closing date of any of the exhibits of a Painting's Artist object.</li>
-	<li><tt>toArtist.exhibitArray+.closingDate</tt> Same with an OUTER JOIN on exhibits</li>
+	<li><tt>toArtist.exhibitArray.closingDate</tt> Can be used to navigate to a closing date of any of the exhibits of a Painting's Artist object. When used in a query, it means "find all paintings by any artist who has an exhibition closing on date x".</li>
+	<li><tt>toArtist.exhibitArray+.closingDate</tt> When used in a query, artists who have a NULL relation to exhibits (that is, who have no exhibits) will not be excluded from the query. So, "find all paintings by any artist who has an exhibition closing on date x, and also find all paintings by artists with no exhibitions".</li>
 </ul>
 
 
 <div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>What Does 'navigation' Means</b><br />The term "navigation" in the description above could mean different things depending on the context. For instance, when evaluating an expression in memory, "navigating" an object path would simply return the value of a corresponding object property. When the same expression is used in a select query qualifier, it resolves to the name of a table column used in a WHERE clause of a generated SQL statement.</td></tr></table></div>
 
 <h3><a name="PathExpressions-DatabasePathExpressions"></a>Database Path Expressions</h3>
+
 <p>Database Path Expressions provide an easy way to navigate through DB table joins. Instead of complex join semantics such expressions utilize the names of DbRelationships defined in Cayenne DataMap. Translating the above object path examples into the DB realm, database path expressions might look like this:</p>
 
 <ul>
@@ -93,15 +95,43 @@
 
 <p>Though database path expressions are widely used by Cayenne framework internally, they are rarely used in applications. Although there are a few cases when their explicit use is justified.</p>
 
-<h3><a name="PathExpressions-MatchingPathExpressions"></a>Matching Path Expressions</h3>
+<h3><a name="PathExpressions-AliasesinPathExpressions"></a>Aliases in Path Expressions</h3>
+
+<p>When Cayenne is performing a database query which uses more than one path expression with common elements, those expressions will be merged automatically. This improves database query speed and simplifies the SQL, but when your path expression is one-to-many it may not give you what you expect.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">Expression e1 = ExpressionFactory.like(<span class="code-quote">"toArtist.exhibitArray.title"</span>, <span class="code-quote">"foo"</span>);
+Expression e2 = ExpressionFactory.like(<span class="code-quote">"toArtist.exhibitArray.title"</span>, <span class="code-quote">"bar"</span>);
+Expression e = e1.andExp(e2);
+q = <span class="code-keyword">new</span> SelectQuery(Painting.class, e);
+</pre>
+</div></div>
+
+<p>This will always give you no results because the query will look for exhibits which are titled 'foo' AND 'bar'. Of course there is no exhibit which has both names.</p>
+
+
+<p>Cayenne supports "aliases" in path Expressions to solve this.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">Expression e1 = ExpressionFactory.like(<span class="code-quote">"exhibitAlias1.title"</span>, <span class="code-quote">"foo"</span>);
+Expression e2 = ExpressionFactory.like(<span class="code-quote">"exhibitAlias2.title"</span>, <span class="code-quote">"bar"</span>);
+Expression e = e1.andExp(e2);
+q = <span class="code-keyword">new</span> SelectQuery(Painting.class, e);
+q.aliasPathSplits(<span class="code-quote">"toArtist.exhibitArray.title"</span>, <span class="code-quote">"exhibitAlias1"</span>, <span class="code-quote">"exhibitAlias2"</span>);
+</pre>
+</div></div>
+
+<p>That last command tells the select query how to interpret the alias. Because the aliases are different, the SQL generated will have two completely separate set of joins. In other words you will "find all paintings by any artist who has at least one exhibition titled 'foo' and at least one exhibition titled 'bar'". This is called a "split path".</p>
+
+<h3><a name="PathExpressions-UsingPathExpressions"></a>Using Path Expressions</h3>
 
-<p>As described in the following chapters a path expression is usually matched against some value (see for example <a href="../../../../Documentation/Cayenne Guide/Expressions/Expression Factory Utilities/index.html" title="Expression Factory Utilities">ExpressionFactory API</a> - the first argument to each method is a path, and a second - an Object value that is matched against the path). Such value type must be compatible with the type of the property pointed to by the path. E.g. toArtist.artistName can only be matched against a String, and toArtist - against instances of Artist. </p></div>
+<p>On their own path expressions are just strings. You'll want to create an <a href="../../../../Documentation/Cayenne Guide/Expressions/Building Expressions/index.html" title="Building Expressions">Expression </a> to do something useful.</p></div>
 </div>
   <div class="clearer">.</div>
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Expressions/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Expressions/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -77,7 +77,7 @@
   <div style="height: 12px; background-image: url('../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/Cayenne and Maven/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Installation/Cayenne%20and%20Maven/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/Cayenne and Maven/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/Cayenne and Maven/index.html Sun Nov 14 05:53:19 2010
@@ -38,7 +38,7 @@
 </li>
 </ul>
 </li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -56,9 +56,7 @@
 </div>
 <div id="ConfluenceContent"><h2><a name="CayenneandMaven-CayenneandMaven"></a>Cayenne and Maven</h2>
 
-<h3><a name="CayenneandMaven-ImportingCayenneinaMavenProject"></a>Importing Cayenne in a Maven Project</h3>
-
-<p>Cayenne publishes Maven2 artifacts to ibiblio repository, so they can be declared in the POM:</p>
+<p>Cayenne publishes Maven2 artifacts to the central Maven repository, so they can be declared as dependencies in the user application <tt>pom.xml</tt>:</p>
 
 <div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>&lt;dependency&gt;
@@ -72,19 +70,14 @@
    &lt;artifactId&gt;cayenne-client&lt;/artifactId&gt;
    &lt;version&gt;X.Y&lt;/version&gt;
 &lt;/dependency&gt;
-...
-&lt;dependency&gt;
-   &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
-   &lt;artifactId&gt;cayenne-agent&lt;/artifactId&gt;
-   &lt;version&gt;X.Y&lt;/version&gt;
-&lt;/dependency&gt;</pre>
+</pre>
 </div></div></div>
 </div>
   <div class="clearer">.</div>
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/JAR Files and Dependencies/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Installation/JAR%20Files%20and%20Dependencies/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/JAR Files and Dependencies/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/JAR Files and Dependencies/index.html Sun Nov 14 05:53:19 2010
@@ -38,7 +38,7 @@
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/Cayenne and Maven/index.html">Cayenne and Maven</a></li>
 </ul>
 </li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -68,18 +68,15 @@
 <ul>
 	<li><tt>cayenne-client-x.x.jar</tt> - a subset of cayenne-server.jar trimmed for use on the client in an <a href="../../../../Documentation/Remote Object Persistence Guide/index.html" title="Remote Object Persistence Guide">ROP application</a>.</li>
 	<li><tt>cayenne-tools-x.x.jar</tt> - Ant tasks</li>
-	<li><tt>cayenne-agent-x.x.jar</tt> - a Java instrumentation agent that is used to enhance POJO persistent classes.</li>
-	<li><tt>cayenne-modeler-x.x.jar</tt> - CayenneModeler runtime library. Most applications won't ever use it. It is only needed for the <a href="../../../../Documentation/Cayenne Guide/Deployment/Using JNDI/index.html" title="Using JNDI">local JNDI hack</a>.</li>
 </ul>
 
 
 <p>When using <tt>cayenne-server-x.x.jar</tt> you'll need a few third party jars (all included in <tt>"lib/third-party"</tt> directory of the distribution):</p>
 
 <ul>
-	<li><a href="http://objectstyle.org/ashwood/" rel="nofollow">ObjectStyle Ashwood Graph Library</a>, version 2.0</li>
-	<li><a href="http://jakarta.apache.org/velocity/" rel="nofollow">Apache Velocity Template Engine</a>, version 1.3 (and all its dependencies bundled with velocity-dep)</li>
-	<li><a href="http://jakarta.apache.org/commons/collections" rel="nofollow">Apache Commons Collections</a>, version 3.1</li>
-	<li><a href="http://jakarta.apache.org/commons/logging/" rel="nofollow">Apache Commons Logging</a>, version 1.1</li>
+	<li><a href="http://jakarta.apache.org/velocity/" class="external-link" rel="nofollow">Apache Velocity Template Engine</a>, version 1.6.x (and all its dependencies bundled with velocity-dep)</li>
+	<li><a href="http://jakarta.apache.org/commons/collections" class="external-link" rel="nofollow">Apache Commons Collections</a>, version 3.1</li>
+	<li><a href="http://jakarta.apache.org/commons/logging/" class="external-link" rel="nofollow">Apache Commons Logging</a>, version 1.1</li>
 </ul>
 
 
@@ -90,12 +87,12 @@
 <p>One or more of the following libraries may be needed depending on how you use Cayenne:</p>
 
 <ul>
-	<li><a href="http://ant.apache.org/" rel="nofollow">Apache Ant</a>, version 1.6 or newer. Needed for <a href="../../../../Documentation/Cayenne Guide/Ant Tasks/index.html" title="Ant Tasks">Cayenne Ant Tasks</a>.</li>
-	<li><a href="http://jakarta.apache.org/commons/pool/" rel="nofollow">Apache Commons Pool</a>, version 1.2 and <a href="http://jakarta.apache.org/commons/dbcp/" rel="nofollow">Apache Commons DBCP</a>, version 1.2.1. Needed if you use DBCPDataSourceFactory for one of the DataNodes.</li>
-	<li><a href="http://www.jgroups.org/" rel="nofollow">JGroups</a>, version 2.2.7 or newer. Needed if you plan to use remote notifications via JGroups transport.</li>
-	<li><a href="http://java.sun.com/products/jms/" rel="nofollow">Java Messaging Service (JMS)</a>. Needed if you plan to use remote notifications via JMS transport.</li>
-	<li><a href="http://vpp.sourceforge.net/" rel="nofollow">Foundry Logic VPP Library</a>, version 2.2.1 (included in <tt>"lib/third-party"</tt> directory of the distribution). Needed for <a href="../../../../Documentation/Cayenne Guide/Ant Tasks/cgen/index.html" title="cgen">class generation options</a> with Ant.</li>
-	<li><a href="http://www.opensymphony.com/oscache/" rel="nofollow">OSCache</a> version 2.3.2 or newer. Needed if you plan to use OSCache as your <a href="../../../../Documentation/Cayenne Guide/Caching and Fresh Data/Query Result Caching/index.html" title="Query Result Caching">query results cache provider</a>.</li>
+	<li><a href="http://ant.apache.org/" class="external-link" rel="nofollow">Apache Ant</a>, version 1.6 or newer. Needed for <a href="../../../../Documentation/Cayenne Guide/Ant Tasks/index.html" title="Ant Tasks">Cayenne Ant Tasks</a>.</li>
+	<li><a href="http://jakarta.apache.org/commons/pool/" class="external-link" rel="nofollow">Apache Commons Pool</a>, version 1.2 and <a href="http://jakarta.apache.org/commons/dbcp/" class="external-link" rel="nofollow">Apache Commons DBCP</a>, version 1.2.1. Needed if you use DBCPDataSourceFactory for one of the DataNodes.</li>
+	<li><a href="http://www.jgroups.org/" class="external-link" rel="nofollow">JGroups</a>, version 2.2.7 or newer. Needed if you plan to use remote notifications via JGroups transport.</li>
+	<li><a href="http://java.sun.com/products/jms/" class="external-link" rel="nofollow">Java Messaging Service (JMS)</a>. Needed if you plan to use remote notifications via JMS transport.</li>
+	<li><a href="http://vpp.sourceforge.net/" class="external-link" rel="nofollow">Foundry Logic VPP Library</a>, version 2.2.1 (included in <tt>"lib/third-party"</tt> directory of the distribution). Needed for <a href="../../../../Documentation/Cayenne Guide/Ant Tasks/cgen/index.html" title="cgen">class generation options</a> with Ant.</li>
+	<li><a href="http://www.opensymphony.com/oscache/" class="external-link" rel="nofollow">OSCache</a> version 2.3.2 or newer. Needed if you plan to use OSCache as your <a href="../../../../Documentation/Cayenne Guide/Caching and Fresh Data/Query Result Caching/index.html" title="Query Result Caching">query results cache provider</a>.</li>
 </ul>
 </div>
 </div>
@@ -103,7 +100,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/Upgrade/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Installation/Upgrade/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/Upgrade/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/Upgrade/index.html Sun Nov 14 05:53:19 2010
@@ -38,7 +38,7 @@
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/Cayenne and Maven/index.html">Cayenne and Maven</a></li>
 </ul>
 </li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -139,7 +139,7 @@
 
 
 <ul>
-	<li>DVModeler and DataViews are no longer shipped with Cayenne. See <a href="http://cwiki.apache.org/CAYDV/" rel="nofollow">http://cwiki.apache.org/CAYDV/</a> for more details.</li>
+	<li>DVModeler and DataViews are no longer shipped with Cayenne. See <a href="http://cwiki.apache.org/CAYDV/" class="external-link" rel="nofollow">http://cwiki.apache.org/CAYDV/</a> for more details.</li>
 </ul>
 
 
@@ -259,7 +259,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Installation/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Installation/index.html Sun Nov 14 05:53:19 2010
@@ -36,7 +36,7 @@
 <li><a href="../../../Documentation/Cayenne Guide/Installation/Cayenne and Maven/index.html">Cayenne and Maven</a></li>
 </ul>
 </li>
-<li><a href="../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -60,7 +60,7 @@
 
 
 <ul>
-	<li><b>JDBC Driver:</b> You will need a JDBC driver to access the database. Information about various drivers and database-specific configuration is provided on the <a href="http://cwiki.apache.org/CAY/database-support.html" rel="nofollow">Database Support</a> page.</li>
+	<li><b>JDBC Driver:</b> You will need a JDBC driver to access the database. Information about various drivers and database-specific configuration is provided on the <a href="http://cwiki.apache.org/CAY/database-support.html" class="external-link" rel="nofollow">Database Support</a> page.</li>
 </ul>
 
 
@@ -72,7 +72,7 @@
 
 <h3><a name="Installation-ObtainingCayenne"></a>Obtaining Cayenne</h3>
 
-<p>Installing Cayenne is simple - just download and unpack the distribution. Download page is located here: <a href="http://cayenne.apache.org/download.html" rel="nofollow">http://cayenne.apache.org/download.html</a>. Select a distribution for your development platform (cross-platform version, as the name implies, works on any OS that has Java).</p>
+<p>Installing Cayenne is simple - just download and unpack the distribution. Download page is located here: <a href="http://cayenne.apache.org/download.html" class="external-link" rel="nofollow">http://cayenne.apache.org/download.html</a>. Select a distribution for your development platform (cross-platform version, as the name implies, works on any OS that has Java).</p>
 
 <p>Once you've done that, you can <a href="../../../Documentation/Modeler Guide/Introduction to CayenneModeler/Running CayenneModeler/index.html" title="Running CayenneModeler">start the Modeler</a> and use appropriate jar files in your application. See <a href="../../../Documentation/Cayenne Guide/Installation/JAR Files and Dependencies/index.html" title="JAR Files and Dependencies">JAR Files and Dependencies</a> for more information. </p>
 
@@ -92,7 +92,7 @@
   <div style="height: 12px; background-image: url('../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Introduction/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Introduction/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Introduction/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Introduction/index.html Sun Nov 14 05:53:19 2010
@@ -33,7 +33,7 @@
 </ul>
 </li>
 <li><a href="../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -73,7 +73,7 @@
   <div style="height: 12px; background-image: url('../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Lifecycle Callbacks/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Lifecycle%20Callbacks/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Lifecycle Callbacks/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Lifecycle Callbacks/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -51,7 +51,7 @@
 </div>
 <div id="ConfluenceContent"><h2><a name="LifecycleCallbacks-LifecycleCallbacks"></a>Lifecycle Callbacks</h2>
 
-<p>Users can register callback methods that will be invoked during the lifecycle of persistent objects. Callback mechanism is similar to the one defined in the <a href="http://cwiki.apache.org/confluence/confluence/display/CAYJPA/JPA+Guide" title="JPA Guide">JPA Specification</a>, however there are some noteable differences introduced to better follow the Cayenne object lifecycle. There are eight lifecycle callbacks described below (PostAdd, PrePersist, PostPersist, PreUpdate, PostUpdate, PreRemove, PostRemove, PostLoad). Each one cab be invoked as a <b>callback on a persistent object</b> itself or as a <b>callback on an arbitrary listener object</b>.</p>
+<p>Users can register callback methods that will be invoked during the lifecycle of persistent objects. Callback mechanism is similar to the one defined in the <a href="https://cwiki.apache.org/confluence/confluence/display/CAYJPA/JPA%20Guide" title="JPA Guide">JPA Specification</a>, however there are some noteable differences introduced to better follow the Cayenne object lifecycle. There are eight lifecycle callbacks described below (PostAdd, PrePersist, PostPersist, PreUpdate, PostUpdate, PreRemove, PostRemove, PostLoad). Each one cab be invoked as a <b>callback on a persistent object</b> itself or as a <b>callback on an arbitrary listener object</b>.</p>
 
 <div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../images/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Callbacks feature supercedes the following 1.2/2.0 features:</b><br /><ul>
 	<li>Interception of object state transitions inside <tt>"Persistent.setPersistenceState()"</tt>.</li>
@@ -107,6 +107,7 @@
 
 <p>Valid callback types are defined as Java enumerated constants in the <tt>org.apache.cayenne.map.LifecycleEvent</tt> enumeration.</p>
 
+<div class='table-wrap'>
 <table class='confluenceTable'><tbody>
 <tr>
 <th class='confluenceTh'>Callback</th>
@@ -150,6 +151,8 @@
 </td>
 </tr>
 </tbody></table>
+</div>
+
 
 <h2><a name="LifecycleCallbacks-RegisteringCallbacks"></a>Registering Callbacks</h2>
 
@@ -239,7 +242,7 @@ registry.addListener(LifecycleListener.P
   <div style="height: 12px; background-image: url('../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Maven2%20Plugins/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -67,7 +67,7 @@
     &lt;plugin&gt;
        &lt;groupId&gt;org.apache.cayenne.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-cayenne-plugin&lt;/artifactId&gt;
-       &lt;version&gt;3.0-SNAPSHOT&lt;/version&gt;
+       &lt;version&gt;3.1M1&lt;/version&gt;
     &lt;/plugin&gt;
   &lt;/plugins&gt;
 &lt;/build&gt;
@@ -94,7 +94,7 @@
     &lt;plugin&gt;
        &lt;groupId&gt;org.apache.cayenne.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-cayenne-modeler-plugin&lt;/artifactId&gt;
-       &lt;version&gt;3.0-SNAPSHOT&lt;/version&gt;
+       &lt;version&gt;3.1M1&lt;/version&gt;
     &lt;/plugin&gt;
   &lt;/plugins&gt;
 &lt;/build&gt;
@@ -128,7 +128,7 @@
   <div style="height: 12px; background-image: url('../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cdbgen/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Maven2%20Plugins/maven2-cdbgen/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cdbgen/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cdbgen/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -55,9 +55,10 @@
 <li><a href="../../../../Documentation/Cayenne Guide/Customization/index.html">Customization</a></li>
 </ul>
 </div>
-<div id="ConfluenceContent"><p><tt>cdbgen</tt> is an Maven 2 mojo that that uses Cayenne DataMap to drop and/or generate schema objects of a specified database.  By default, it is bound to the <tt>pre-integration-test</tt> phase.  Please see this <a href="http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing" rel="nofollow">guide to integration testing with maven2</a> for ideas of how tie this in with your existing test infrastructure.</p>
+<div id="ConfluenceContent"><p><tt>cdbgen</tt> is an Maven 2 mojo that that uses Cayenne DataMap to drop and/or generate schema objects of a specified database.  By default, it is bound to the <tt>pre-integration-test</tt> phase.  Please see this <a href="http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing" class="external-link" rel="nofollow">guide to integration testing with maven2</a> for ideas of how tie this in with your existing test infrastructure.</p>
 
 <h3><a name="maven2-cdbgen-Parameters%28asXMLelements%29"></a>Parameters (as XML elements)</h3>
+<div class='table-wrap'>
 <table class='confluenceTable'><tbody>
 <tr>
 <th class='confluenceTh'>Attribute</th>
@@ -120,6 +121,8 @@
 <td class='confluenceTd'>No</td>
 </tr>
 </tbody></table>
+</div>
+
 
 
 <h3><a name="maven2-cdbgen-Examples"></a>Examples</h3>
@@ -181,7 +184,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cdbimport/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Maven2%20Plugins/maven2-cdbimport/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cdbimport/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cdbimport/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -59,6 +59,7 @@
 
 <h3><a name="maven2-cdbimport-Parameters%28asXMLelements%29"></a>Parameters (as XML elements)</h3>
 
+<div class='table-wrap'>
 <table class='confluenceTable'><tbody>
 <tr>
 <th class='confluenceTh'> Attribute </th>
@@ -131,6 +132,8 @@
 <td class='confluenceTd'> No </td>
 </tr>
 </tbody></table>
+</div>
+
 
 
 <h3><a name="maven2-cdbimport-Examples"></a>Examples</h3>
@@ -190,7 +193,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cgen/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Maven2%20Plugins/maven2-cgen/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cgen/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-cgen/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -60,6 +60,7 @@
 <p>By creating custom templates, <tt>cgen</tt> can also be used to generate other output (such as web pages, reports, specialized code templates) based on DataMap information.</p>
 
 <h3><a name="maven2-cgen-Parameters%28asXMLelements%29"></a>Parameters (as XML elements)</h3>
+<div class='table-wrap'>
 <table class='confluenceTable'><tbody>
 <tr>
 <th class='confluenceTh'>Attribute</th>
@@ -127,11 +128,6 @@
 <td class='confluenceTd'>No</td>
 </tr>
 <tr>
-<td class='confluenceTd'>version</td>
-<td class='confluenceTd'><em><b>(deprecated)</b>)</em> Specifies template location and generator behavior. "1.1" is the old behavior, with templates located in "dotemplates" and "classgen" as the only velocity context attribute. "1.2" is the new behavior, with templates located in "dotemplates/v1.2" and "objEntity", "entityUtils", "stringUtils", and "importUtils" in the velocity context. (Default is "1.2")</td>
-<td class='confluenceTd'>No</td>
-</tr>
-<tr>
 <td class='confluenceTd'>excludeEntities</td>
 <td class='confluenceTd'>Entities (expressed as a perl5 regex) to exclude from template generation. (Default is to include all entities in the DataMap)</td>
 <td class='confluenceTd'>No</td>
@@ -148,7 +144,7 @@
 </tr>
 <tr>
 <td class='confluenceTd'>mode</td>
-<td class='confluenceTd'>Specifies generator iteration target. "entity" performs one iteration for each selected entity. "datamap" performs one iteration per datamap (This is always one iteration since cgen currently supports specifying one-and-only-one datamap). (Default is "entity")</td>
+<td class='confluenceTd'>Specifies class generator iteration target. There are three possible values: "entity" (default), "datamap", "all". "entity" performs one generator iteration for each selected entity, applying standard entity templates (templates can of course be overridden with user defined ones). "datamap" performs a single iteration, applying standard DataMap templates. "All" is a combination of entity and datamap</td>
 <td class='confluenceTd'>No</td>
 </tr>
 <tr>
@@ -157,6 +153,8 @@
 <td class='confluenceTd'>No</td>
 </tr>
 </tbody></table>
+</div>
+
 
 <h3><a name="maven2-cgen-Examples"></a>Examples</h3>
 
@@ -249,7 +247,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-modeler/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Maven2%20Plugins/maven2-modeler/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-modeler/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Maven2 Plugins/maven2-modeler/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -82,7 +82,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Caching Lookup Tables/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Performance%20Tuning/Caching%20Lookup%20Tables/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Caching Lookup Tables/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Caching Lookup Tables/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -72,7 +72,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Data Rows/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Performance%20Tuning/Data%20Rows/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Data Rows/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Data Rows/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -102,7 +102,7 @@ List artistRows = ctxt.performQuery(q);
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Iterating Through Data Rows/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Performance%20Tuning/Iterating%20Through%20Data%20Rows/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Iterating Through Data Rows/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Iterating Through Data Rows/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -57,10 +57,11 @@
 <li><a href="../../../../Documentation/Cayenne Guide/Customization/index.html">Customization</a></li>
 </ul>
 </div>
-<div id="ConfluenceContent"><p>There are cases when the result sets are so large that even when fetching data rows, application can run out of memory. For instance, a user may be creating a report that requires in-memory processing of hundreds of thousands of database rows. In such cases normal Cayenne behavior of reading the whole java.sql.ResultSet in the memory before returning it to the user may result in an application exhausing all memory and crashing.</p>
+<div id="ConfluenceContent"><p>There are cases when the result sets are so large that even when fetching data rows, application can run out of memory. For instance, a user may be creating a report that requires in-memory processing of hundreds of thousands of database rows. In such cases normal Cayenne behavior of reading the whole <tt>java.sql.ResultSet</tt> in the memory before returning it to the user may result in an application exhausing all memory and crashing.</p>
 
-<p>Cayenne solves this by allowing to obtain results in the form of ResultIterator. ResultIterator is connected to an open java.sql.ResultSet, therefore its methods may throw checked exceptions. ResultIterator returns data rows (not DataObjects) one at a time, reading them on demand from the open ResultSet. Each data row can be converted to a DataObject or accessed directly. Open ResultIterator locks the database connection, therefore <b>ResultIterator always requires explicit closing in the user code</b>.</p>
-<div class='panelMacro'><table class='warningMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>In web applications, programmers must ensure that no open ResultIterators are kept between HTTP requests. Failure to do so may result in too many database connections being locked, thus quickly exhausting connection pool. In general, an application with Web GUI is NOT a good candidate for implementation using ResultIterators.</td></tr></table></div>
+<p>Cayenne solves this by allowing to obtain results in the form of <tt>ResultIterator</tt>. ResultIterator is connected to an open <tt>java.sql.ResultSet</tt>, therefore its methods may throw checked exceptions. ResultIterator returns data rows (not DataObjects) one at a time, reading them on demand from the open ResultSet. Each data row can be converted to a DataObject or accessed directly. Open ResultIterator locks the database connection, therefore <b>ResultIterator always requires explicit closing in the user code</b>.</p>
+
+<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>In web applications, programmers must ensure that no open ResultIterators are kept between HTTP requests. Failure to do so may result in too many database connections being locked, thus quickly exhausting connection pool.</td></tr></table></div>
 
 <p>When working with open ResultIterator, users still can perform any other database operations: select queries, traversing object relationships, etc. Any parallel data operation will internally check out an unused connection from the connection pool as it would normally do, while ResultIterator still locks its own connection.</p>
 
@@ -75,28 +76,29 @@
 <span class="code-keyword">import</span> org.apache.cayenne.CayenneException;
 <span class="code-keyword">import</span> org.apache.art.Artist;
 ...
-DataContext ctxt;
+DataContext context;
 
 <span class="code-comment">// create a usual query
-</span>SelectQuery q = <span class="code-keyword">new</span> SelectQuery(Artist.class);
-ResultIterator it = <span class="code-keyword">null</span>;
+</span>SelectQuery query = <span class="code-keyword">new</span> SelectQuery(Artist.class);
 
-<span class="code-comment">// ResultIterator operations all <span class="code-keyword">throw</span> checked CayenneException
-</span><span class="code-keyword">try</span> {
-   <span class="code-comment">// special <span class="code-quote">"performIteratedQuery"</span> method is used
-</span>   it = ctxt.performIteratedQuery(q);
+<span class="code-comment">// On most databases it is important to use 'statementFetchSize' together
+</span><span class="code-comment">// with ResultIterator, to avoid high memory consumption by the JDBC driver
+</span>query.setStatementFetchSize(1000);
+
+<span class="code-comment">// special <span class="code-quote">"performIteratedQuery"</span> method is used.
+</span><span class="code-comment">// the method itself <span class="code-keyword">throws</span> a CayenneException, so it may need 
+</span><span class="code-comment">// to be wrapped in one more <span class="code-keyword">try</span>/<span class="code-keyword">catch</span>
+</span>ResultIterator it = context.performIteratedQuery(query);
 
+<span class="code-keyword">try</span> {
    <span class="code-keyword">while</span>(it.hasNextRow()) {
       <span class="code-comment">// ResultIterator always returns data rows 
-</span>      Map row = it.nextDataRow();
+</span>      Map row = (Map) it.nextRow();
       
       <span class="code-comment">// <span class="code-keyword">do</span> something with the row...
 </span>      ...
    }
 }
-<span class="code-keyword">catch</span>(CayenneException ex) {
-   ex.printStackTrace();
-}
 <span class="code-keyword">finally</span> {
    <span class="code-keyword">try</span> {
       <span class="code-comment">// explicit closing of the iterator is required !!!
@@ -108,13 +110,15 @@ ResultIterator it = <span class="code-ke
 }
 ...
 </pre>
-</div></div></div>
+</div></div>
+
+<p>Note that it is a good practice to always call <tt>query.setStatementFetchSize(some_number)</tt> before running an iterated query. Otherwise the underlying JDBC driver may store the entire ResultSet in memory.</p></div>
 </div>
   <div class="clearer">.</div>
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Paginated Queries/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Performance%20Tuning/Paginated%20Queries/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Paginated Queries/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Paginated Queries/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -98,13 +98,13 @@ q.setPageSize(50);
 </pre>
 </div></div>
 
-<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Combining data rows and paginated queries</b><br />Cayenne supports combining both performance optimizations in the same query - fetching data rows (see previous chapters) and paginated queries. So if users work with tabular data and don't care much about real objects, combining the two approaches would improve speed and memory use even more. </td></tr></table></div></div>
+<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Combining data rows and paginated queries</b><br />Cayenne supports combining both performance optimizations in the same query - fetching data rows (see previous chapters) and paginated queries. So if users work with tabular data and don't care much about real objects, combining the two approaches would improve speed and memory use even more.</td></tr></table></div></div>
 </div>
   <div class="clearer">.</div>
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Prefetching/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Performance%20Tuning/Prefetching/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Prefetching/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Prefetching/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -114,7 +114,7 @@ query.addPrefetch(<span class="code-quot
 
 <p>Each node specifies the name of prefetch path segment and execution semantics. There are two flavors of prefetch semantics - <b>joint</b> and <b>disjoint</b>. Semantics of each node is initially determined by Cayenne when a new prefetch path is added, and can be later customized by the user (e.g., see joint example below).</p>
 
-<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><p>In most cases prefetch semantics is of no concern to the users. Cayenne will do its best to configure the right semantics on the fly. Don't tweak semantics unless you understand the implications and have some proof that different semantics would result in better select performance on your database. </p></td></tr></table></div>
+<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>In most cases prefetch semantics is of no concern to the users. Cayenne will do its best to configure the right semantics on the fly. Don't tweak semantics unless you understand the implications and have some proof that different semantics would result in better select performance on your database.</td></tr></table></div>
 
 <p>Some internal semantics rules:</p>
 
@@ -162,7 +162,7 @@ context.performQuery(query);
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Turning off Context Synchronization/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Performance%20Tuning/Turning%20off%20Context%20Synchronization/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Turning off Context Synchronization/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/Turning off Context Synchronization/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -76,13 +76,13 @@
 
 <div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Don't use this for idle applications</b><br />Note that this optimization does not affect percieved user commit time, as synchronization is done in a separate thread. It only affects the overall throughput. So it only makes sense if your application already utilizes close to a 100% of CPU.</td></tr></table></div>
 
-<p><em>Further improvements in this area are tracked via <a href="http://issues.apache.org/cayenne/browse/CAY-554" rel="nofollow">CAY-554 Jira issue</a>.</em></p></div>
+<p><em>Further improvements in this area are tracked via <a href="http://issues.apache.org/cayenne/browse/CAY-554" class="external-link" rel="nofollow">CAY-554 Jira issue</a>.</em></p></div>
 </div>
   <div class="clearer">.</div>
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Performance%20Tuning/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Performance Tuning/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a></li>
@@ -83,7 +83,7 @@
   <div style="height: 12px; background-image: url('../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/Caching Query Results/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Queries/Caching%20Query%20Results/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/Caching Query Results/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/Caching Query Results/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a><ul>
@@ -67,6 +67,7 @@
 
 <p>The following cache policies are supported:</p>
 
+<div class='table-wrap'>
 <table class='confluenceTable'><tbody>
 <tr>
 <th class='confluenceTh'>Policy</th>
@@ -99,6 +100,8 @@
 <td class='confluenceTd'>Never use cache, alwyas do a fetch and store result in cache for future use</td>
 </tr>
 </tbody></table>
+</div>
+
 
 <p>It is important to understand that caching of <b>result lists</b> is done independently from caching of <b>individual DataObjects and DataRows</b>. Therefore the API is different as well. Also cached results lists are not synchronized across VMs (even the shared cache).</p>
 
@@ -143,15 +146,14 @@ List objects2 = context.performQuery(que
 <p>The example above shows caching with <tt>SelectQuery</tt>, but it works exactly the same way for <tt>SQLTemplate</tt> and <tt>ProcedureQuery</tt>. Similarly <tt>SHARED_CACHE</tt> and <tt>SHARED_CACHE_REFRESH</tt> cache policies create cache shared by all DataDontexts that work with a given DataDomain. </p>
 
 
-<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Upgrading to Cayenne 1.2 and Newer</b><br /><br/>
-Cache refreshing API has changed in 1.2. Cayenne 1.1 relied on the use of <tt>SelectQuery.setRefreshingObjects(..)</tt> to determine whether to expire cached result lists. This is no longer the case (setting this flag only refreshes <b>individual objects</b> as it should, and has no effect whatsoever on list caching). Instead caching and cache refreshing is controlled by the cache policy as described above.</td></tr></table></div>
+<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="../../../../images/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Upgrading to Cayenne 1.2 and Newer</b><br />Cache refreshing API has changed in 1.2. Cayenne 1.1 relied on the use of <tt>SelectQuery.setRefreshingObjects(..)</tt> to determine whether to expire cached result lists. This is no longer the case (setting this flag only refreshes <b>individual objects</b> as it should, and has no effect whatsoever on list caching). Instead caching and cache refreshing is controlled by the cache policy as described above.</td></tr></table></div>
 
 
 <h3><a name="CachingQueryResults-QueriesMappedinCayenneModeler"></a>Queries Mapped in CayenneModeler</h3>
 
 <p>The easiest way to set up caching is by creating a named query in CayenneModeler with the appropriate caching type.</p>
 
-<p><img src="caching.jpg" align="absmiddle" border="0" /></p>
+<p><span class="image-wrap" style=""><img src="caching.jpg?version=2&amp;modificationDate=1139788141000" style="border: 0px solid black" /></span></p>
 
 <p>Then it can be executed via DataContext:</p>
 
@@ -188,7 +190,7 @@ List objects2 = context.performQuery(<sp
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/Customizing Queries/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Queries/Customizing%20Queries/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/Customizing Queries/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/Customizing Queries/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a><ul>
@@ -153,7 +153,7 @@ Map row = (Map) context.performQuery(que
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/EJBQLQuery/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Queries/EJBQLQuery/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/EJBQLQuery/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/EJBQLQuery/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a><ul>
@@ -63,7 +63,7 @@
 </div>
 <div id="ConfluenceContent"><p><em>(available since 3.0 in both classic and JPA modes; as of June 2007 only a subset of EJBQL syntax is supported)</em></p>
 
-<p>EJBQL is an object query language that is not unlike SQL, only it operates in terms of the Java object model. In fact "EJB" in its name is entirely misleading - the language is applicable in the non-"enterprise" environments just as well. Standard EJBQL syntax is specified in the <a href="http://cwiki.apache.org/confluence/confluence/display/CAYJPA/JPA+Guide" title="JPA Guide">JPA specification</a>, still Cayenne supports it in a classic mode, and no JPA runtime is required to execute such queries. This chapter deals specifically with classic mode operation. </p>
+<p>EJBQL is an object query language that is not unlike SQL, only it operates in terms of the Java object model. In fact "EJB" in its name is entirely misleading - the language is applicable in the non-"enterprise" environments just as well. Standard EJBQL syntax is specified in the <a href="https://cwiki.apache.org/confluence/confluence/display/CAYJPA/JPA%20Guide" title="JPA Guide">JPA specification</a>, still Cayenne supports it in a classic mode, and no JPA runtime is required to execute such queries. This chapter deals specifically with classic mode operation. </p>
 
 <h3><a name="EJBQLQuery-EJBQLSyntax"></a>EJBQL Syntax</h3>
 
@@ -125,7 +125,7 @@
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>

Modified: cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/NamedQuery/index.html
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne%20Guide/Queries/NamedQuery/index.html?rev=1034935&r1=1034934&r2=1034935&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/NamedQuery/index.html (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/doc/Documentation/Cayenne Guide/Queries/NamedQuery/index.html Sun Nov 14 05:53:19 2010
@@ -31,7 +31,7 @@
 <ul>
 <li><a href="../../../../Documentation/Cayenne Guide/Introduction/index.html">Introduction</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Installation/index.html">Installation</a></li>
-<li><a href="../../../../Documentation/Cayenne Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/Cayenne Guide/Tutorial/index.html">Tutorial</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Design/index.html">Design</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/DataContext/index.html">DataContext</a></li>
 <li><a href="../../../../Documentation/Cayenne Guide/Queries/index.html">Queries</a><ul>
@@ -79,7 +79,7 @@ List matchingUsers = context.performQuer
   <div style="height: 12px; background-image: url('../../../../images/border_bottom.gif'); background-repeat: repeat-x;"></div>
 
   <div class="smalltext copyright">
-    Copyright &copy;2001-2008 Apache Software Foundation
+    Copyright &copy;2001-2010 Apache Software Foundation
   </div>
 
 </body>