cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aadamc...@apache.org
Subject svn commit: r488202 [13/19] - in /incubator/cayenne/main/trunk/assembly/cayenne-generic: ./ src/doc/ src/doc/confluence/ src/doc/confluence/Documentation/ src/doc/confluence/Documentation/JPA Guide/ src/doc/confluence/Documentation/JPA Guide/JPA Agent/...
Date Mon, 18 Dec 2006 10:24:42 GMT
Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Expression Factory Utilities/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Expressions/Expression%20Factory%20Utilities/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Expression Factory Utilities/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Expression Factory Utilities/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,171 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - Expression Factory Utilities</title>
+    <style type="text/css">@import "../../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">Expression Factory Utilities</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../../Documentation/User Guide/Installation/index.html">Installation</a></li>
+<li><a href="../../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/index.html">Expressions</a><ul>
+<li><a href="../../../../Documentation/User Guide/Expressions/Path Expressions/index.html">Path Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Building Expressions/index.html">Building Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Expression Factory Utilities/index.html">Expression Factory Utilities</a><ul>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Expressions/NULL Handling/index.html">NULL Handling</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/In-Memory Evaluation/index.html">In-Memory Evaluation</a></li>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../../Documentation/User Guide/DataViews/index.html">DataViews</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 <span class="nobr"><a href="http://incubator.apache.org/cayenne/2_0/api/cayenne/org/apache/cayenne/exp/ExpressionFactory.html" title="Visit page outside Confluence" rel="nofollow">ExpressionFactory<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> and <span class="nobr"><a href="http://incubator.apache.org/cayenne/2_0/api/cayenne/org/apache/cayenne/exp/Expression.html" title="Visit page outside Confluence" rel="nofollow">Expression<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> 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>
+</ul>
+
+
+<p>As was mentioned <a href="../../../../Documentation/User 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>
+<div class="code"><div class="codeContent">
+<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;
+<span class="code-keyword">import</span> org.apache.cayenne.query.SelectQuery;
+...
+
+<span class="code-comment">// find artist paintings (<span class="code-keyword">if</span> we don't want to use relationship <span class="code-keyword">for</span> whatever reason)
+</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>
+</div></div>
+
+<h3><a name="ExpressionFactoryUtilities-ChainingExpressions"></a>Chaining Expressions</h3>
+
+<p>Expression class itself provides a set of convenience methods to chain expressions as they are built from smaller parts. Note that each of these methods does not modify the original expression, rather it builds and returns a new instance of the expression.</p>
+<ul>
+	<li>public Expression <b>joinExp</b>(int type, Expression exp)<br/>
+ Creates and returns a new expression that joins this object with another expression, using specified join type. This is a shorter equivalent of ExpressionFactory.binaryExpression(type, this, exp).</li>
+	<li>public Expression <b>andExp</b>(Expression exp)<br/>
+ A shorter equivalent for joinExp(Expression.AND, exp).</li>
+	<li>public Expression <b>orExp</b>(Expression exp)<br/>
+ A shorter equivalent for joinExp(Expression.OR, exp).</li>
+</ul>
+
+
+<p>Example of using chaining:</p>
+<div class="code"><div class="codeContent">
+<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;
+<span class="code-keyword">import</span> org.apache.cayenne.query.SelectQuery;
+...
+
+<span class="code-comment">// find artists whose name starts with <span class="code-quote">"D"</span>
+</span><span class="code-comment">// with invalid or <span class="code-keyword">null</span> date of birth
+</span>
+Expression qual = ExpressionFactory.greaterOrEqualExp(<span class="code-quote">"dateOfBirth"</span>, <span class="code-keyword">new</span> Date());
+
+<span class="code-comment">// 1. chain expressions, note the assignment back to <span class="code-quote">"qual"</span>,
+</span><span class="code-comment">// since a <span class="code-keyword">new</span> instance is created
+</span>qual = qual.orExp(ExpressionFactory.matchExp(<span class="code-quote">"dateOfBirth"</span>, <span class="code-keyword">null</span>));
+
+<span class="code-comment">// 2. <span class="code-quote">"AND"</span> applies to a combined earlier criteria
+</span>qual =
+   qual.andExp(ExpressionFactory.likeIgnoreCaseExp(<span class="code-quote">"artistName"</span>, <span class="code-quote">"D%"</span>));
+
+SelectQuery select = <span class="code-keyword">new</span> SelectQuery(Artist.class, qual);</pre>
+</div></div>
+
+<h3><a name="ExpressionFactoryUtilities-CreatingComplexExpressions"></a>Creating Complex Expressions</h3>
+
+<p>There is a way to create complex expressions either from the Lists of expressions or from the Maps containing values using "path" Strings as keys. This approach significantly simplifies connecting Cayenne queries to the UI, and reduces the number of steps needed to create expressions in other cases. ExpressionFactory provides the following methods:</p>
+<ul>
+	<li>public static Expression <b>joinExp</b>(int type, java.util.List expressions)<br/>
+ Joins all expressions into a single expression. type is used as an expression type for expressions joining each one of the items on the list. type is normally AND or OR.</li>
+	<li>public static Expression <b>matchAllExp</b>(java.util.Map map, int type)<br/>
+ Creates an expression that matches all path/value pairs in map. Path is OBJ_PATH.</li>
+	<li>public static Expression <b>matchAllDbExp</b>(java.util.Map map, int type)<br/>
+ Same as above, but path is interpreted to be DB_PATH.</li>
+	<li>public static Expression <b>matchAnyExp</b>(java.util.Map map, int type)<br/>
+ Creates an expression that matches any of the path/value pairs in map. Path is OBJ_PATH.</li>
+	<li>public static Expression <b>matchAnyDbExp</b>(java.util.Map map, int type)<br/>
+ Same as above, but path is interpreted to be DB_PATH.</li>
+</ul>
+
+
+<p>Example of creating complex expressions:</p>
+<div class="code"><div class="codeContent">
+<pre class="code-java">HashMap 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>
+</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Expression Factory Utilities/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/In-Memory Evaluation/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Expressions/In-Memory%20Evaluation/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/In-Memory Evaluation/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/In-Memory Evaluation/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,121 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - In-Memory Evaluation</title>
+    <style type="text/css">@import "../../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">In-Memory Evaluation</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../../Documentation/User Guide/Installation/index.html">Installation</a></li>
+<li><a href="../../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/index.html">Expressions</a><ul>
+<li><a href="../../../../Documentation/User Guide/Expressions/Path Expressions/index.html">Path Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Building Expressions/index.html">Building Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Expression Factory Utilities/index.html">Expression Factory Utilities</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/NULL Handling/index.html">NULL Handling</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/In-Memory Evaluation/index.html">In-Memory Evaluation</a><ul>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent">
+<p>In additions to providing a database-independent WHERE clause for SQL queries, expressions support in-memory evaluation. An expressions can be evaluated with any type of objects that follow Java Beans method naming convention. Of course this includes DataObjects. The following API is used for expressions evaluation:</p>
+
+<ul>
+	<li>public Object <b>evaluate</b>(Object object)<br/>
+      Evaluates expression with object, returning the result.</li>
+	<li>public boolean <b>match</b>(Object object)<br/>
+      Returns true if an object "matches" expression criteria.</li>
+	<li>public java.util.List <b>filterObjects</b>(java.util.List objects)<br/>
+      Returns a list of objects from the original list that match expression criteria.</li>
+</ul>
+
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><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><b class="strong">Limitation of In-Memory Expressions</b><br />Current limitation of in-memory expressions is that no collections are permitted in the object property path. In case of DataObjects that means that path containing to-many relationships may not work for in-memory evaluation.</td></tr></table>
+
+<p>Here is an example of evaluating expression with a single object:</p>
+
+<div class="code"><div class="codeContent">
+<pre class="code-java"><span class="code-keyword">public</span> class User <span class="code-keyword">extends</span> CayenneDataObject {
+     <span class="code-keyword">public</span> <span class="code-object">String</span> getName() {
+         ...
+     }
+}
+... 
+<span class="code-keyword">public</span> class NonPersistentUser <span class="code-keyword">extends</span> <span class="code-object">Object</span> {
+     <span class="code-keyword">protected</span> <span class="code-object">String</span> name;
+     <span class="code-keyword">public</span> <span class="code-object">String</span> getName() {
+         <span class="code-keyword">return</span> name;
+     }
+     ...
+}
+... 
+Expression exp = ExpressionFactory.inExp(<span class="code-quote">"name"</span>, <span class="code-keyword">new</span> <span class="code-object">Object</span>[] {<span class="code-quote">"John"</span>, <span class="code-quote">"Bob"</span>});  
+User persistentObject;
+NonPersistentUser nonPersistentBean;
+... 
+<span class="code-comment">// evaluate with DataObject
+</span><span class="code-keyword">if</span>(exp.match(persistentObject)) {
+    <span class="code-comment">// <span class="code-keyword">do</span> something
+</span>}
+
+<span class="code-keyword">if</span>(exp.match(nonPersistentBean)) {
+    <span class="code-comment">// <span class="code-keyword">do</span> something <span class="code-keyword">else</span>
+</span>}</pre>
+</div></div>
+
+<p>Another example - using expression to filter a list objects:</p>
+
+<div class="code"><div class="codeContent">
+<pre class="code-java">Expression exp = ExpressionFactory.likeExp(<span class="code-quote">"artistName"</span>, <span class="code-quote">"A%"</span>);  
+List startWithA = exp.filterObjects(artists);</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/In-Memory Evaluation/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/NULL Handling/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Expressions/NULL%20Handling/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/NULL Handling/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/NULL Handling/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,79 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - NULL Handling</title>
+    <style type="text/css">@import "../../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">NULL Handling</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../../Documentation/User Guide/Installation/index.html">Installation</a></li>
+<li><a href="../../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/index.html">Expressions</a><ul>
+<li><a href="../../../../Documentation/User Guide/Expressions/Path Expressions/index.html">Path Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Building Expressions/index.html">Building Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Expression Factory Utilities/index.html">Expression Factory Utilities</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/NULL Handling/index.html">NULL Handling</a><ul>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Expressions/In-Memory Evaluation/index.html">In-Memory Evaluation</a></li>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent">
+<p>Handling of Java nulls as operands is no different from normal values. Instead of using special conditional operators, like SQL does, EQUAL_TO and NOT_EQUAL_TO expressions can be used directly with null values. It is up to Cayenne to translate expressions with nulls to the valid SQL.</p>
+
+<p>For example:</p>
+
+<div class="code"><div class="codeContent">
+<pre class="code-java"><span class="code-comment">// <span class="code-keyword">this</span> expression will be translated by Cayenne to the SQL like:
+</span><span class="code-comment">// ...WHERE BIRTH_DATE IS NOT NULL
+</span>Expression exp = ExpressionFactory.noMatchExp(<span class="code-quote">"birthDate"</span>, <span class="code-keyword">null</span>);</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/NULL Handling/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Path Expressions/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Expressions/Path%20Expressions/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Path Expressions/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Path Expressions/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,101 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - Path Expressions</title>
+    <style type="text/css">@import "../../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">Path Expressions</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../../Documentation/User Guide/Installation/index.html">Installation</a></li>
+<li><a href="../../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/index.html">Expressions</a><ul>
+<li><a href="../../../../Documentation/User Guide/Expressions/Path Expressions/index.html">Path Expressions</a><ul>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Building Expressions/index.html">Building Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/Expression Factory Utilities/index.html">Expression Factory Utilities</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/NULL Handling/index.html">NULL Handling</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/In-Memory Evaluation/index.html">In-Memory Evaluation</a></li>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent">
+<p>Before we start discussing how to build expressions, it is important to understand one group of expressions widely used in Cayenne: path expressions. There are two types of path expressions: object path used to navigate graphs of Java objects that follow Java Bean property naming conventions and database path used to navigate the database schema.</p>
+
+<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><b>paintingTitle</b><br/>
+      Can be used to navigate to the value of "paintingTitle" property of the Painting class.</li>
+	<li><b>toArtist.exhibitArray.closingDate</b><br/>
+      Can be used to navigate to a closing date of any of the exhibits of a Painting's Artist object.</li>
+</ul>
+
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='infoMacro' border="0" align='center'><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 class="strong">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>
+
+<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>
+	<li><b>PAINTING_TITLE</b><br/>
+      Can be used to match the value of "PAINTING_TITLE" column of a PAINTING table.</li>
+	<li><b>toArtist.artistExhibitArray.toExhibit.CLOSING_DATE</b><br/>
+      Can be used to match a closing date of any of the exhibits of a related artist record.</li>
+</ul>
+
+
+<p>Though database path expressions are widely used by Cayenne framework internally, they are rarely used in applications. There are only a few cases when their explicit use is justified.</p>
+
+<h3><a name="PathExpressions-MatchingPathExpressions"></a>Matching 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/User 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>
+</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/Path Expressions/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Expressions/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,71 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - Expressions</title>
+    <style type="text/css">@import "../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">Expressions</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../Documentation/User Guide/Installation/index.html">Installation</a></li>
+<li><a href="../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../Documentation/User Guide/Expressions/index.html">Expressions</a><ul>
+<li><a href="../../../Documentation/User Guide/Expressions/Path Expressions/index.html">Path Expressions</a></li>
+<li><a href="../../../Documentation/User Guide/Expressions/Building Expressions/index.html">Building Expressions</a></li>
+<li><a href="../../../Documentation/User Guide/Expressions/Expression Factory Utilities/index.html">Expression Factory Utilities</a></li>
+<li><a href="../../../Documentation/User Guide/Expressions/NULL Handling/index.html">NULL Handling</a></li>
+<li><a href="../../../Documentation/User Guide/Expressions/In-Memory Evaluation/index.html">In-Memory Evaluation</a></li>
+</ul>
+</li>
+<li><a href="../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent"><p>Cayenne defines a simple yet powerful object-based expression language. Cayenne expressions are database independent and are used as query qualifiers and orderings and also to perform in-memory evaluation with DataObjects (and generally any kind of Java Beans). BNF of Cayenne expression language is described <span class="nobr"><a href="http://incubator.apache.org/cayenne/1_2/grammar/ExpressionParser.html" title="Visit page outside Confluence" rel="nofollow">here<sup><img class="rendericon" src="../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>.</p>
+
+<p>Expressions are broadly divided into the following categories: object property expressions (also called "path expressions"), arithmetic operations, and conditional expressions. Cayenne contains a parser to build expressions from strings, and also features explicit expression API. Various ways of creating and using expressions are described later in this chapter. </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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Expressions/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/JAR Files and Dependencies/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Installation/JAR%20Files%20and%20Dependencies/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/JAR Files and Dependencies/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/JAR Files and Dependencies/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,117 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - JAR Files and Dependencies</title>
+    <style type="text/css">@import "../../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">JAR Files and Dependencies</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../../Documentation/User Guide/Installation/index.html">Installation</a><ul>
+<li><a href="../../../../Documentation/User Guide/Installation/Upgrade/index.html">Upgrade</a></li>
+<li><a href="../../../../Documentation/User Guide/Installation/JAR Files and Dependencies/index.html">JAR Files and Dependencies</a><ul>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/index.html">Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent">
+<p>This sections explains where all the relevant jar files are located. It also lists Cayenne dependencies.</p>
+
+<h3><a name="JARFilesandDependencies-CayenneRuntimeFramework"></a>Cayenne Runtime Framework</h3>
+
+<p>One of two Cayenne jar files, <tt>cayenne.jar</tt> or <tt>cayenne-nodeps.jar</tt>, should be accessible in runtime (i.e. present in the application CLASSPATH). Either one or the other should be used (but not both at the same time). In most cases <tt>cayenne.jar</tt> is the best choice. It has Cayenne classes as well as a minimum set of third-party dependencies. Bundled dependencies include:</p>
+
+<ul>
+	<li><span class="nobr"><a href="http://objectstyle.org/ashwood/" title="Visit page outside Confluence" rel="nofollow">ObjectStyle Ashwood Graph Library<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.1</li>
+	<li><span class="nobr"><a href="http://jakarta.apache.org/velocity/" title="Visit page outside Confluence" rel="nofollow">Apache Velocity Template Engine<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.3 (and all its dependencies bundled with velocity-dep)</li>
+	<li><span class="nobr"><a href="http://jakarta.apache.org/log4j/" title="Visit page outside Confluence" rel="nofollow">Apache Log4J<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.2.9</li>
+	<li><span class="nobr"><a href="http://jakarta.apache.org/commons/lang/" title="Visit page outside Confluence" rel="nofollow">Apache Commons Lang<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 2.1</li>
+	<li><span class="nobr"><a href="http://jakarta.apache.org/commons/collections" title="Visit page outside Confluence" rel="nofollow">Apache Commons Collections<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 3.1</li>
+	<li><span class="nobr"><a href="http://jakarta.apache.org/commons/logging/" title="Visit page outside Confluence" rel="nofollow">Apache Commons Logging<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.0.4</li>
+</ul>
+
+
+<p>If bundled Cayenne dependencies conflict with different versions of the same library, a leaner <tt>cayenne-nodeps.jar</tt> file should be used. In this case all the dependencies above must be provided by the user.</p>
+
+<h3><a name="JARFilesandDependencies-OptionalRuntimeDependencies"></a>Optional Runtime Dependencies</h3>
+
+<p>One or more of the following libraries may be needed depending on how you use Cayenne:</p>
+
+<ul>
+	<li><span class="nobr"><a href="http://ant.apache.org/" title="Visit page outside Confluence" rel="nofollow">Apache Ant<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.6 or newer. Needed for <a href="../../../../Documentation/User Guide/Ant Tasks/index.html" title="Ant Tasks">Cayenne Ant Tasks</a>.</li>
+	<li><span class="nobr"><a href="http://jakarta.apache.org/commons/pool/" title="Visit page outside Confluence" rel="nofollow">Apache Commons Pool<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.2 and <span class="nobr"><a href="http://jakarta.apache.org/commons/dbcp/" title="Visit page outside Confluence" rel="nofollow">Apache Commons DBCP<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.2.1. Needed if you use DBCPDataSourceFactory for one of the DataNodes.</li>
+	<li><span class="nobr"><a href="http://www.jgroups.org/" title="Visit page outside Confluence" rel="nofollow">JGroups<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 2.2.7 or newer. Needed if you plan to use remote notifications via JGroups transport.</li>
+	<li><span class="nobr"><a href="http://java.sun.com/products/jms/" title="Visit page outside Confluence" rel="nofollow">Java Messaging Service (JMS)<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>. Needed if you plan to use remote notifications via JMS transport.</li>
+	<li><span class="nobr"><a href="http://www.jdom.org/" title="Visit page outside Confluence" rel="nofollow">JDOM<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>, version 1.0. Needed if you use <a href="../../../../Documentation/User Guide/DataViews/index.html" title="DataViews">DataViews</a>.</li>
+</ul>
+
+
+
+<h3><a name="JARFilesandDependencies-CayenneModelerTool"></a>CayenneModeler Tool</h3>
+
+<p>Java classes and resources used exclusively by CayenneModeler and not required by the runtime are located in [cayenne_install_dir]/lib/modeler/ directory:</p>
+
+<ul>
+	<li>cayenne-modeler.jar</li>
+	<li>scope-bin-1.0.1.jar</li>
+	<li>forms-1.0.3.jar</li>
+	<li>looks-1.3.1.jar</li>
+	<li>hsqldb-1.8.0.2.jar</li>
+	<li>ognl-2.6.7.jar</li>
+	<li>commons-dbcp-1.2.1.jar</li>
+	<li>commons-pool-1.2.jar</li>
+</ul>
+
+
+<p>cayenne-modeler.jar implicitly relies on the presence of [cayenne_install_dir]/lib/cayenne.jar. Instructions on how to start modeler can be found <a href="../../../../Documentation/Modeler Guide/Introduction to CayenneModeler/Running CayenneModeler/index.html" title="Running CayenneModeler">here</a>.</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/JAR Files and Dependencies/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/Upgrade/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Installation/Upgrade/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/Upgrade/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/Upgrade/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,188 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - Upgrade</title>
+    <style type="text/css">@import "../../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">Upgrade</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../../Documentation/User Guide/Installation/index.html">Installation</a><ul>
+<li><a href="../../../../Documentation/User Guide/Installation/Upgrade/index.html">Upgrade</a><ul>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Installation/JAR Files and Dependencies/index.html">JAR Files and Dependencies</a></li>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/index.html">Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent"><h3><a name="Upgrade-GeneralUpgradeRecommendations"></a>General Upgrade Recommendations</h3>
+
+<ul>
+	<li>Consult <tt>UPGRADE.txt</tt> and <tt>RELEASE-NOTES.txt</tt> files in the release you just downloaded for the most up to date instructions.</li>
+</ul>
+
+
+<ul>
+	<li><em>(Optional)</em> Delete CayenneModeler preferences. This is not strictly required, but recommended (especially if you used intermediate milestones and Betas). To do that delete "$HOME/.cayenne/modeler.preferences" file and "$HOME/.cayenne/prefs" directory, where <tt>$HOME</tt> is a user home directory which is OS and machine specific.</li>
+</ul>
+
+
+<ul>
+	<li>Upgrade Cayenne Mapping Projects. Open your project with the version of the Modeler that came with the latest download. If an upgrade dialog pops up, select "yes" to do an upgrade. Also it is also a good idea to make some insignificant change to the model (so that a "Save" button is activated) and do a save.</li>
+</ul>
+
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><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>Upgrading project XML files can  make them unusable with earlier versions of Cayenne.</td></tr></table>
+
+<ul>
+	<li>Pay attention to CayenneModeler validation warnings.</li>
+</ul>
+
+
+<ul>
+	<li>Do a clean recomplie. Recompile all your code, to make sure that you are not using any old classes or methods. Pay attention to deprecation warnings. It is always a good idea to update your code to avoid deprecated API.</li>
+</ul>
+
+
+<h3><a name="Upgrade-Upgradingto2.0"></a>Upgrading to 2.0</h3>
+
+<p>2.0 is a mirror of 1.2 (third digit in release number is a patch level that matches 1.2 version, e.g. "2.0.1" has the same patch level as "1.2.1"). The main change is that all packages were renamed from "org.objectstyle.&#42;" to "org.apache.&#42;". This affects user API and also mapping XML files (as they sometimes reference Cayenne classes by name).</p>
+
+<ul>
+	<li>First you need to upgrade the mapping files as described in general upgrade instructions above.</li>
+</ul>
+
+
+<ul>
+	<li>Upgrading the code: Replace "org.objectstyle." with "org.apache." everywhere in imports and do a clean recompile.</li>
+</ul>
+
+
+<ul>
+	<li>Upgrading logging configuration: If you are using custom logging configuration file, make sure that all the Cayenne loggers are changed from "org.objectstyle" to "org.apache".</li>
+</ul>
+
+
+
+<h3><a name="Upgrade-Upgradingto1.2"></a>Upgrading to 1.2</h3>
+
+<p>This is the list of things that are different in 1.2 and may require attention when doing an upgrade:</p>
+
+<ul>
+	<li>Cayenne tools and runtime now REQUIRE at least JDK 1.4 (or higher). They won't work on JDK 1.3. If you are still on 1.3, upgrade your JDK if you can. If you can not, consider staying on  Cayenne 1.1.</li>
+</ul>
+
+
+<ul>
+	<li>1.2 no longer needs Jakarta BeanUtils.</li>
+</ul>
+
+
+<ul>
+	<li>1.2 no longer relies on ClassLoader provided by Configuration (this API is deprecated as a matter of fact). Current code uses Thread.currentThread().getContextClassLoader().</li>
+</ul>
+
+
+<ul>
+	<li>In 1.2 PostgreSQLAdapter uses DB sequences for primary key generation instead of AUTO_PK_TABLE. To port an existing application, you will need to create those sequences (e.g. using the Modeler) and assign correct current values to them  (e.g. taken from the old AUTO_PK_TABLE). After that AUTO_PK_TABLE can be dropped.</li>
+</ul>
+
+
+<ul>
+	<li>In 1.2 PostgreSQLAdapter's default "BLOB" mapping is changed from "bytea" to "oid". It is still possible to use bytea, but watch for the Modeler-generated schema scripts - they will contain "oid". The easiest way to migrate your mapping (if you don't want to change the DB) is to remap all bytea columns as LONGVARBINARY DbAttributes instead of BLOB.</li>
+</ul>
+
+
+<ul>
+	<li>For extra portability encoding of entity type in the ObjectId is now based on ObjEntity name,  not Java class as before. If you had ObjEntities with matching names but different class names in different DataMaps, you will need to ensure entity name uniqueness.</li>
+</ul>
+
+
+<ul>
+	<li>ObjectId methods "getObjClass" and "getObjectClass" are removed (it wasn't possible to deprecate them and still preserve meaningful functionality). Constructors that take Class as the first argument are deprecated and will only work if entity naming follows CayenneModeler default conventions of using unqualified class name as the entity name.</li>
+</ul>
+
+
+<ul>
+	<li>TempObjectId is deprecated and is no longer used by Cayenne internally. If you were referencing TempObjectId explicitly in your code (e.g. if(id instanceof TempObjectId) ... ), you will need to modify the code and use "isTemporary()" superclass method.</li>
+</ul>
+
+
+<ul>
+	<li>The meaning of SnapshotEvent "source" and "postedBy" attributes is reversed per CAY-395 for better efficiency. If you implemented custom listeners of SnapshotEvents, you may need to doublecheck their logic. From now on events use DataRowStore as source, and EventBridge or ObjectStore as postedBy, depending on whether this was a local or a remote event. I.e. the new structure is the opposite to what we used in 1.1.</li>
+</ul>
+
+
+<ul>
+	<li>Cayenne stack events are no longer sent via a shared "default" EventManager. If you were using EventManager.getDefaultManager() to communicate or receive Cayenne stack events, you'll have to switch to Configuration.getEventManager(). Otherwise default manager can be accessed as before.</li>
+</ul>
+
+
+<ul>
+	<li>Query.setLoggingLevel/getLoggingLevel methods are removed from the interface and AbstractQuery implementor. As multi-tier Cayenne doesn't use Log4J, it was no longer possible to keep these methods deprecated.</li>
+</ul>
+
+
+<ul>
+	<li>Thread-bound Transactions: QueryEngine.performQueries(Collection,OperationObserver resultConsumer,Transaction) is deprecated and no longer used internally to further decouple layers in the access stack. This DOES NOT AFFECT most users. Only if you (a) implemented custom transactions and (b) manually manage their commit/rollback, you will also have to bind and unbind such Transactions to the current thread manually, for Cayenne stack classes to pick them up.</li>
+</ul>
+
+
+<ul>
+	<li>To force refresh of cached query results, one of the two new cache policies should be used instead of "setRefreshingObjects(..)" ("setRefreshingObjects" should only be used for its original purpose - refreshing individual objects, not list contents). See <a href="../../../../Documentation/User Guide/Queries/Caching Query Results/index.html" title="Caching Query Results">Caching Query Results</a> for details.</li>
+</ul>
+
+
+<ul>
+	<li>ObjectStore no longer stores database snapshots of object. As a result a method "retainSnapshot(DataObject object)" is removed, as its meaningful deprecation is not possible.</li>
+</ul>
+</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/Upgrade/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Installation/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,88 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - Installation</title>
+    <style type="text/css">@import "../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">Installation</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../Documentation/User Guide/Introduction/index.html">Introduction</a></li>
+<li><a href="../../../Documentation/User Guide/Installation/index.html">Installation</a><ul>
+<li><a href="../../../Documentation/User Guide/Installation/Upgrade/index.html">Upgrade</a></li>
+<li><a href="../../../Documentation/User Guide/Installation/JAR Files and Dependencies/index.html">JAR Files and Dependencies</a></li>
+</ul>
+</li>
+<li><a href="../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../Documentation/User Guide/Expressions/index.html">Expressions</a></li>
+<li><a href="../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent"><h3><a name="Installation-SystemRequirements"></a>System Requirements</h3>
+
+<ul>
+	<li><b>JDK:</b> Cayenne, including GUI tools, is written in 100% Java, and runs on any Java-compatible platform. Required JDK version is 1.4 or higher. If your deployment environment uses JDK 1.3, you can still use Cayenne, just downgrade to version 1.1.x - the last  version compatible with JDK 1.3.</li>
+</ul>
+
+
+<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 <span class="nobr"><a href="http://cwiki.apache.org/CAY/database-support.html" title="Visit page outside Confluence" rel="nofollow">Database Support<sup><img class="rendericon" src="../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> page.</li>
+</ul>
+
+
+<ul>
+	<li><b>Third-party Libraries:</b> Depending on the application nature, Cayenne may optionally require a few third-party open source packages. See <a href="../../../Documentation/User Guide/Installation/JAR Files and Dependencies/index.html" title="JAR Files and Dependencies">JAR Files and Dependencies</a> page for details.</li>
+</ul>
+
+
+
+<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: <span class="nobr"><a href="http://incubator.apache.org/cayenne/download.html" title="Visit page outside Confluence" rel="nofollow">http://incubator.apache.org/cayenne/download.html<sup><img class="rendericon" src="../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>. Select a distribution matching your target 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 <tt>cayenne.jar</tt> file in your applications (see <a href="../../../Documentation/User Guide/Installation/JAR Files and Dependencies/index.html" title="JAR Files and Dependencies">JAR Files and Dependencies</a> for more information).</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Installation/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Acknowledgments/index.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Introduction/Acknowledgments/index.html?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Acknowledgments/index.html (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Acknowledgments/index.html Mon Dec 18 02:24:19 2006
@@ -0,0 +1,69 @@
+<!--
+   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.
+-->
+<html>
+  <head>
+    <title>Apache Cayenne Documentation - Acknowledgments</title>
+    <style type="text/css">@import "../../../../style.css";</style>
+  </head>
+<body>
+  <div class="header">
+    <div style="float: left;"><a href="http://incubator.apache.org/cayenne/"><img src="../../../../images/logo.gif" align="absmiddle" border="0"></a></div>
+    <span class="logoSpaceLink"><a href="../../../../index.html">Cayenne User Documentation</a></span><br />
+    <span class="pagetitle">Acknowledgments</span>
+  </div>
+<div id="cayenne_toc">
+<ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/index.html">Introduction</a><ul>
+<li><a href="../../../../Documentation/User Guide/Introduction/Acknowledgments/index.html">Acknowledgments</a><ul>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Introduction/License/index.html">License</a></li>
+<li><a href="../../../../Documentation/User Guide/Introduction/Guide to 1.1 Features/index.html">Guide to 1.1 Features</a></li>
+<li><a href="../../../../Documentation/User Guide/Introduction/Guide to 1.2 Features/index.html">Guide to 1.2 Features</a></li>
+</ul>
+</li>
+<li><a href="../../../../Documentation/User Guide/Installation/index.html">Installation</a></li>
+<li><a href="../../../../Documentation/User Guide/Quick Start/index.html">Quick Start</a></li>
+<li><a href="../../../../Documentation/User Guide/Design/index.html">Design</a></li>
+<li><a href="../../../../Documentation/User Guide/DataContext/index.html">DataContext</a></li>
+<li><a href="../../../../Documentation/User Guide/Queries/index.html">Queries</a></li>
+<li><a href="../../../../Documentation/User Guide/DataObjects/index.html">DataObjects</a></li>
+<li><a href="../../../../Documentation/User Guide/Stored Procedures/index.html">Stored Procedures</a></li>
+<li><a href="../../../../Documentation/User Guide/Expressions/index.html">Expressions</a></li>
+<li><a href="../../../../Documentation/User Guide/Lifecycle Callbacks/index.html">Lifecycle Callbacks</a></li>
+<li><a href="../../../../Documentation/User Guide/Performance Tuning/index.html">Performance Tuning</a></li>
+<li><a href="../../../../Documentation/User Guide/Caching and Fresh Data/index.html">Caching and Fresh Data</a></li>
+<li><a href="../../../../Documentation/User Guide/Deployment/index.html">Deployment</a></li>
+<li><a href="../../../../Documentation/User Guide/Ant Tasks/index.html">Ant Tasks</a></li>
+<li><a href="../../../../Documentation/User Guide/Maven2 Plugins/index.html">Maven2 Plugins</a></li>
+<li><a href="../../../../Documentation/User Guide/Customizing/index.html">Customizing</a></li>
+<li><a href="../../../../Documentation/User Guide/DataViews/index.html">DataViews</a></li>
+</ul>
+</div>
+<div id="ConfluenceContent"><p>We would like to thank our dedicated team of <span class="nobr"><a href="http://incubator.apache.org/cayenne/contributors.html" title="Visit page outside Confluence" rel="nofollow">contributors<sup><img class="rendericon" src="../../../../images/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> - for making this project possible, early adopters - for taking all the pain to help us make a usable product, other users - for providing feedback, comments, patches and bug reports.</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-2006 Apache Software Foundation
+  </div>
+
+</body>
+</html>

Propchange: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Acknowledgments/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Guide to 1.1 Features/cayenne-data-map-1_2.dtd
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Introduction/Guide%20to%201.1%20Features/cayenne-data-map-1_2.dtd?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Guide to 1.1 Features/cayenne-data-map-1_2.dtd (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Guide to 1.1 Features/cayenne-data-map-1_2.dtd Mon Dec 18 02:24:19 2006
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+   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.
+-->
+
+<!-- ===================================================
+Cayenne DataMap DTD, v 1.1
+
+Defines format of Cayenne DataMap XML files (*.map.xml).  DataMap files contain
+the metadata needed for Cayenne object-relational features. Multiple DataMaps
+are usually combined in one shared namespace, so the elements of the DataMap
+may reference objects from other DataMaps. 
+-->
+
+<!-- ===================================================
+A generic property used by other configuration objects.
+-->
+<!ELEMENT property EMPTY>
+<!ATTLIST property
+	name CDATA #REQUIRED
+	value CDATA #REQUIRED
+>
+
+<!-- ===================================================
+Root element.
+-->
+<!ELEMENT data-map (property*, db-entity*, obj-entity*, db-relationship*, obj-relationship*, procedure*, query*)>
+<!ATTLIST data-map
+	project-version CDATA #REQUIRED
+>
+
+<!-- ===================================================
+A descriptor of a DB table or view.
+-->
+<!ELEMENT db-entity (db-attribute+, db-attribute-derived+, db-key-generator?)>
+<!ATTLIST db-entity
+	name CDATA #REQUIRED
+	schema CDATA #IMPLIED
+	catalog CDATA #IMPLIED
+	parentName CDATA #IMPLIED
+>
+
+<!-- ===================================================
+A descriptor of a DB table column.
+-->
+<!ELEMENT db-attribute EMPTY>
+<!ATTLIST db-attribute
+	name CDATA #REQUIRED
+	isPrimaryKey (true | false) "false"
+	isMandatory (true | false) "false"
+	isGenerated (true|false) "false"
+	type CDATA #REQUIRED
+	length CDATA #IMPLIED
+	precision CDATA #IMPLIED
+>
+
+<!-- ===================================================
+A descriptor of a column of a "dynamic view" defined via a derived DbEntity.
+-->
+<!ELEMENT db-attribute-derived (db-attribute-ref*)>
+<!ATTLIST db-attribute-derived
+	name CDATA #REQUIRED
+	isPrimaryKey (true | false) "false"
+	isMandatory (true | false) "false"
+	type CDATA #REQUIRED
+	length CDATA #IMPLIED
+	precision CDATA #IMPLIED
+	isGroupBy (true | false) "false"
+	spec CDATA #IMPLIED
+>
+
+<!ELEMENT db-attribute-ref EMPTY>
+<!ATTLIST db-attribute
+	name CDATA #REQUIRED
+>
+
+<!-- =================================================== 
+Defines an ObjEntity - a metadata element describing a persistent Java 
+class. Since 1.1 allows "superEntityName" to specify a parent in the inheritance
+hierarchy.
+-->
+<!ELEMENT obj-entity (qualifier?, obj-attribute+)>
+<!ATTLIST obj-entity
+	name CDATA #REQUIRED
+	className CDATA #REQUIRED
+	dbEntityName CDATA #REQUIRED
+	superEntityName CDATA #IMPLIED
+	superClassName CDATA #IMPLIED
+	clientClassName CDATA #IMPLIED
+	clientSuperClassName CDATA #IMPLIED
+	readOnly (true | false) "false"
+	lock-type (optimistic | none) "none"
+>
+
+<!ELEMENT obj-attribute EMPTY>
+<!ATTLIST obj-attribute
+	name CDATA #REQUIRED
+	db-attribute-path CDATA #REQUIRED
+	type CDATA #REQUIRED
+	lock (true | false) "false"
+>
+
+<!ELEMENT obj-relationship EMPTY>
+<!ATTLIST obj-relationship
+	name CDATA #REQUIRED
+	source CDATA #REQUIRED
+	target CDATA #REQUIRED
+	toMany (true | false) "false"
+	lock (true | false) "false"
+	db-relationship-path CDATA #IMPLIED
+>
+
+<!ELEMENT db-relationship (db-attribute-pair+)>
+<!ATTLIST db-relationship
+	source CDATA #REQUIRED
+	target CDATA #REQUIRED
+	toMany (true | false) "false"
+	toDependentPK (true | false) "false"
+	name CDATA #REQUIRED
+>
+
+<!ELEMENT db-attribute-pair EMPTY>
+<!ATTLIST db-attribute-pair
+	source CDATA #REQUIRED
+	target CDATA #REQUIRED
+>
+
+<!ELEMENT procedure (procedure-parameter*)>
+<!ATTLIST procedure
+	name CDATA #REQUIRED
+	schema CDATA #IMPLIED
+	catalog CDATA #IMPLIED
+	returningValue (true | false) "false"
+>
+
+<!ELEMENT procedure-parameter EMPTY>
+<!ATTLIST procedure-parameter
+	name CDATA #REQUIRED
+	direction (in | in_out | out | void) "void"
+	type CDATA #REQUIRED
+	length CDATA #IMPLIED
+	precision CDATA #IMPLIED
+>
+
+<!-- =================================================== 
+Defines a Cayenne Query that can be either at the DataMap
+level, or linked to an entity or procedure.
+-->
+<!ELEMENT query (property*, result-column*, (sql* | (qualifier?, ordering*, prefetch*)?) >
+<!ATTLIST query
+        name CDATA #REQUIRED
+        factory CDATA #REQUIRED
+		root (db-entity | obj-entity | procedure | data-map | java-class) "data-map"
+        root-name CDATA #IMPLIED
+        result-class CDATA #IMPLIED
+        selecting (true | false) "true"
+>
+
+<!-- ===================================================
+Defines a query ResultSet column. This can be viewed as 
+a stripped down combination of ObjAttribute and DbAttribute. 
+-->
+<!ELEMENT result-column>
+<!ATTLIST result-column
+	label CDATA #IMPLIED
+	db-type CDATA #REQUIRED
+	java-type CDATA #REQUIRED
+>
+
+<!-- ===================================================
+Defines a query qualifier, normally an encoded expression
+wrapped in CDATA, like "abc.name != $param2 and salary > 
+$param2".
+-->
+<!ELEMENT qualifier (#PCDATA)>
+
+<!-- ===================================================
+Defines a query ordering.
+-->
+<!ELEMENT ordering (#PCDATA)>
+<!ATTLIST ordering
+	descending  (true | false) "false"
+	ignore-case  (true | false) "false"
+>
+
+<!-- ===================================================
+Defines a query relationship prefetching.
+-->
+<!ELEMENT prefetch (#PCDATA)>
+
+<!-- ===================================================
+Defines arbitrary SQL statement, normally wrapped in 
+CDATA section. Note that SQL statement can be customized
+for different SQL dialects per DbAdapter class. If no
+adapter-specific statement is found, the one with no
+adapter label is used by default
+-->
+<!ELEMENT sql (#PCDATA)>
+<!ATTLIST sql
+        adapter-class CDATA #IMPLIED
+>
+
+
+<!-- =================================================== 
+"db-key-generator"  optional tag is used to install the 
+Automatic Sequence/Key Generation facility for db-entity.
+
+Example:
+  <db-key-generator>
+    <db-generator-type>ORACLE</db-generator-type>
+    <db-generator-name>test_sequence</db-generator-name>
+    <db-key-cache-size>10</db-key-cache-size>
+  </db-key-generator>
+
+Notes: This feature is intended for use with Simple (non-Compound)
+       Integral Primary Keys.
+-->
+<!ELEMENT db-key-generator (
+    db-generator-type,
+    db-generator-name?,
+    db-key-cache-size?
+)>
+
+<!-- ===================================================
+Specifies the Key Generation Method that will be employed
+  'ORACLE'               - use Oracle's SEQUENCE
+  'NAMED_SEQUENCE_TABLE' - use USER designated SEQUENCE TABLE
+                               User specifies the name of a DBMS Table
+                               with the schema (sequence INT)
+                               which will be used to hold sequence values
+                               (not supported yet)
+-->
+<!ELEMENT db-generator-type (#PCDATA)>
+
+<!-- ===================================================
+If this is DBMS Key Generation,
+Then this may be used to specify the Name of the Generator,
+  e.g. for <db-generator-type>ORACLE
+           <db-generator-name> would be the name of the ORACLE SEQUENCE to use.
+                             the SEQUENCE is assumed to already exist in the Database.
+
+If this is <db-generator-type>NAMED_SEQUENCE_TABLE Key Generation,
+Then this would be used to specify the name of the SEQUENCE TABLE to use.
+ the NAMED_SEQUENCE_TABLE is assumed to already exist in the Database
+ with 1 row.
+-->
+<!ELEMENT db-generator-name (#PCDATA)>
+
+<!-- ===================================================
+Optional size of key cache.
+For <db-generator-type>ORACLE , this value MUST match the
+  Oracle SEQUENCE  INCREMENT value.  If there is a mismatch
+  between this value and the Oracle SEQUENCE INCREMENT value,
+  then there will likely be duplicate key problems.
+
+For <db-generator-type>NAMED_SEQUENCE_TABLE , this tells how many keys
+  the Container will fetch in a single DBMS call
+-->
+<!ELEMENT db-key-cache-size (#PCDATA)>

Added: incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Guide to 1.1 Features/cayenne-data-view-1_1.dtd
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User%20Guide/Introduction/Guide%20to%201.1%20Features/cayenne-data-view-1_1.dtd?view=auto&rev=488202
==============================================================================
--- incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Guide to 1.1 Features/cayenne-data-view-1_1.dtd (added)
+++ incubator/cayenne/main/trunk/assembly/cayenne-generic/src/doc/confluence/Documentation/User Guide/Introduction/Guide to 1.1 Features/cayenne-data-view-1_1.dtd Mon Dec 18 02:24:19 2006
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+   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.
+-->
+<!ELEMENT caption ( #PCDATA ) >
+
+<!ELEMENT data-view ( obj-entity-view+ ) >
+
+<!ELEMENT default-value ( #PCDATA ) >
+
+<!ELEMENT pattern ( #PCDATA ) >
+
+<!ELEMENT edit-format ( pattern? ) >
+<!ATTLIST edit-format class NMTOKEN #REQUIRED >
+
+
+<!ELEMENT display-format ( pattern? ) >
+<!ATTLIST display-format class NMTOKEN #REQUIRED >
+
+<!ELEMENT lookup EMPTY >
+<!ATTLIST lookup obj-entity-view-name NMTOKEN #REQUIRED >
+<!ATTLIST lookup field-name NMTOKEN #REQUIRED >
+
+<!ELEMENT field ( caption?, lookup?, edit-format?, 
+                  display-format?, default-value? ) >
+<!ATTLIST field obj-relationship-name NMTOKEN #IMPLIED >
+<!ATTLIST field pref-index NMTOKEN #IMPLIED >
+<!ATTLIST field name NMTOKEN #REQUIRED >
+<!ATTLIST field editable ( false | true ) #REQUIRED >
+<!ATTLIST field obj-attribute-name NMTOKEN #IMPLIED >
+<!ATTLIST field calc-type ( nocalc | lookup ) #REQUIRED >
+<!ATTLIST field data-type ( Object | String | Money | 
+                            Integer | Double | Percent | 
+                            Date | Datetime | Boolean ) #REQUIRED >
+<!ATTLIST field visible ( false | true ) #REQUIRED >
+
+<!ELEMENT obj-entity-view ( field+ ) >
+<!ATTLIST obj-entity-view name NMTOKEN #REQUIRED >
+<!ATTLIST obj-entity-view obj-entity-name NMTOKEN #IMPLIED >
+
+



Mime
View raw message