You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by bu...@apache.org on 2012/10/31 20:57:55 UTC

svn commit: r836771 [10/14] - in /websites/staging/cayenne/trunk/content: ./ doc12/ doc12/grammar/ doc20/ doc30/

Modified: websites/staging/cayenne/trunk/content/doc30/configuring-logging.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/configuring-logging.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/configuring-logging.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>Cayenne logging is based on Jakarta Apache <A href="http://jakarta.apache.org/commons/logging/" class="external-link" rel="nofollow">commons-logging package</A>. Commons-logging allows users to choose their own logging provider, such as Log4J or <TT>java.util.logging</TT>. Below is an example of a <A href="http://logging.apache.org/log4j/docs/" class="external-link" rel="nofollow">Log4J-based</A> configuration of the most important Cayenne logger that turns on and off SQL tracing:</P>
 
 <DIV class="preformatted panel" style="border-width: 1px;"><DIV class="preformattedContent panelContent">
@@ -32,8 +44,11 @@ log4j.logger.org.apache.cayenne.util = D
 </DIV></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/configuring-object-validation.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/configuring-object-validation.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/configuring-object-validation.html Wed Oct 31 19:57:39 2012
@@ -11,13 +11,28 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P><BR>
 Each DataDomain can be configured to enable or disable DataObject pre-commit validation by (un)checking &quot;Child DataContexts Validate Objects&quot; checkbox. By default validation is enabled for all newly created DataDomains. More information on DataObject validation is provided in the <A href="dataobject-validation.html" title="DataObject Validation">user guide</A>.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/configuring-transactional-behavior.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/configuring-transactional-behavior.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/configuring-transactional-behavior.html Wed Oct 31 19:57:39 2012
@@ -11,15 +11,30 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	
 <P>Each DataDomain can be configured to explicitly commit/rollback its transactions or to rely on deployment container to do that. This is done by checking or unchecking &quot;Container-Managed Transactions&quot; checkbox. </P>
 
 <P>By default &quot;Container-Managed Transactions&quot; is unchecked, letting Cayenne to handle its transactions. Check this checkbox when using Cayenne under container-managed transactions control, i.e. within EJB environment.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/converting-an-existing-business-framework.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/converting-an-existing-business-framework.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/converting-an-existing-business-framework.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	
 <H3><A name="ConvertinganExistingBusinessFramework-ConvertinganExistingBusinessFramework"></A>Converting an Existing Business Framework</H3>
 
@@ -43,8 +55,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/create-datanode.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/create-datanode.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/create-datanode.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	
 <H3><A name="CreateDataNode-CreateDataNode"></A>Create DataNode</H3>
 
@@ -30,8 +42,11 @@
 <P><B>Configure DataSource Information (Driver factory only).</B> Depending on the type of DataSource Factory selected, bottom right area of the screen will change to show a form appropriate for a selected type of DataSource. It allows to enter JDBC information for DriverDataSourceFactory or JNDI name for JNDI. If custom DataSource Factory was selected, an optional string parameter can be entered (it can be anything that a custom DataSource factory understands).</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/create-new-project.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/create-new-project.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/create-new-project.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	
 <H3><A name="CreateNewProject-CreateNewProject"></A>Create New Project</H3>
 
@@ -27,8 +39,11 @@
 <P>When you click on &quot;UntitledDomain&quot;, this opens an editor for this domain and also activates two new actions: &quot;<TT>Create DataNode</TT>&quot; and &quot;<TT>Create DataMap</TT>&quot;. </P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/custom-batchquerybuilder-factory.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/custom-batchquerybuilder-factory.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/custom-batchquerybuilder-factory.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>Cayenne allows plugging user-defined behavior to the process of performing commit actions in ObjectContext. Imagine situation when you need to perform UPDATE queries to mark records in database as deleted, instead of using common DELETE queries, e.g. something like</P>
 <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
 <PRE class="code-java">
@@ -44,8 +56,11 @@ domain.setQueryBuilderFactory(<SPAN clas
 <P>Note that BatchQueryBuilder factory only affects queries being created during commit for NEW, MODIFIED or DELETED objects in ObjectContext. It has no effect on database modifications that are made with, say, EJBQLQuery or SQLTemplate.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/custom-dbadapter.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/custom-dbadapter.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/custom-dbadapter.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="CustomDbAdapter-HowdoIwriteanadaptertosupportadatabasethatisnotyetsupported%3F"></A>How do I write an adapter to support a database that is not yet supported?</H2>
 
 <P>You need to implement a custom <A href="http://cayenne.apache.org/doc/api/org/apache/cayenne/dba/DbAdapter.html" class="external-link" rel="nofollow">DbAdapter</A>. Most likely you won't have to do it from scratch and can extend a JdbcAdapter or one of the existing db-specific adapters. </P>
@@ -53,8 +65,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/custom-query-cache-provider.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/custom-query-cache-provider.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/custom-query-cache-provider.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>By default Cayenne stores cached query results in an LRUMap (<TT>'org.apache.cayenne.cache.MapQueryCacheFactory'</TT>) and can also be configured to use OSCache (via <TT>'org.apache.cayenne.cache.OSQueryCacheFactory'</TT>). If none of these cache engines suit specific application needs, users can hook up their own. </P>
 
 <P>Assuming you have some cache management library that you want to integrate with Cayenne, you need to implement a <TT>'org.apache.cayenne.cache.QueryCacheFactory'</TT> interface that creates an instance of <TT>'org.apache.cayenne.cache.QueryCache'</TT> that is a facade to your cache engine.</P>
@@ -36,8 +48,11 @@ domain.setQueryCacheFactory(<SPAN class=
 <P><EM>TODO: pending <A href="https://issues.apache.org/cayenne/browse/CAY-825" class="external-link" rel="nofollow">CAY-825 implementation</A>, setting custom factory should be possible via CayenneModeler.</EM> </P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/customization.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/customization.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/customization.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="Customization-Customizing"></A>Customizing</H2>
 
 <P>Here we will discuss Cayenne extension points and customization techniques:</P>
@@ -27,8 +39,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/customizing-configuration.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/customizing-configuration.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/customizing-configuration.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>A user can create her own subclass of Configuration and use it instead of the classes provided by Cayenne. Custom subclasses are usually created to load configuration files from non-standard locations, to automatically configure Cayenne during certain events that happen in deployment containers, etc. Cayenne provides a few implementations of Configuration discussed later in this chapter.</P>
 
 <P>To ensure that Cayenne uses the correct Configuration class, it must be initialized properly before any calls to Configuration are made:</P>
@@ -75,8 +87,11 @@ Configuration.initializeSharedConfigurat
 <P>The difference between the String and File arguments is that the latter are checked for existence. Both variants can be absolute or relative, and are evaluated in the order in which they are added to the Configuration.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/customizing-queries.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/customizing-queries.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/customizing-queries.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>Any object that implements <TT>org.apache.cayenne.query.Query</TT> interface can be executed with a DataContext. </P>
 
 <H3><A name="CustomizingQueries-UnderstandingQueryInterface"></A>Understanding Query Interface</H3>
@@ -101,8 +113,11 @@ Map row = (Map) context.performQuery(que
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/data-rows.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/data-rows.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/data-rows.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>DataObjects creation and registering with DataContext is an expensive operation. There are cases when only a few objects are really used, but the application still has to fetch a lot of objects. For instance when a user performs a search, result may contain thousands of records, but user will only check 2-3 of them. Cayenne allows programmers to explicitly disable objects creation for such cases. Results will be returned in the form of java.util.Map's. In Cayenne such maps are called <TT>DataRows</TT>.</P>
 
 <P>Benefits of Data Rows:</P>
@@ -55,8 +67,11 @@ List artistRows = ctxt.performQuery(q);
 </DIV></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/database-support.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/database-support.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/database-support.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>This page provides useful information about JDBC driver settings for various database. All databases below have custom Cayenne DbAdapters and are automatically recognized by Cayenne AutoAdapter.</P>
 
 
@@ -427,8 +439,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/datachannel.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/datachannel.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/datachannel.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P><TT>&quot;org.apache.cayenne.DataChannel&quot;</TT> is an abstraction of Cayenne persistence stack. It is very simple - it defines only 4 methods, two for actually performing persistent operations, one to access metadata, and one - to access EventManager:</P>
 
 <DIV class="code panel" style="border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;"><B>DataChannel.java</B></DIV><DIV class="codeContent panelContent">
@@ -37,8 +49,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/datacontext.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/datacontext.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/datacontext.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="DataContext-DataContext"></A>DataContext</H2>
 <P>In most applications <TT>org.apache.cayenne.access.DataContext</TT> is the main user access point to all Cayenne functionality. It provides query execution facilities as well as object state management functions. Applications rarely directly deal with access or mapping objects beyond DataContext.</P>
 
@@ -32,8 +44,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/datacontextdelegate.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/datacontextdelegate.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/datacontextdelegate.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	
 <P>DataContext supports runtime customization via a DataContextDelegate interface. A user can assign a custom delegate instance to a DataContext by calling DataContext.setDelegate(..). Delegate is optional, and if it is not set, DataContext would go on with its default behavior. If a delegate is set, DataContext consults with it at some critical points in the normal flow execution. A delegate can modify the flow, abort an operation, modify objects participating in an operation, or perform any other tasks it deems necessary.</P>
 
@@ -35,8 +47,11 @@
 <P>These methods are called by the ObjectStore whenever it performs an update of its state triggered by external events. Default ObjectStore behavior is to merge all changes to the existing objects, and change deleted objects state to TRANSIENT, removing them from the store. Delegate has an option to abort standard processing by returning &quot;false&quot; from &quot;should*&quot; methods.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/datacontextfactory.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/datacontextfactory.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/datacontextfactory.html Wed Oct 31 19:57:39 2012
@@ -11,14 +11,29 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>To customize how the DataContext is built, an <EM>optional</EM> DataContextFactory can be registered with DataDomain in the Modeler. The class name you enter must implement <TT>org.apache.cayenne.access.DataContextFactory</TT> interface. If a factory is entered, Cayenne will use it in <A href="obtaining-datacontext.html" title="Obtaining DataContext">all places</A> where the DataContext is created. A single factory instance is reused for the life of the DataDomain.</P>
 
 <P><SPAN class="image-wrap" style=""><IMG src="datacontextfactory.data/datacontextfactory.jpg" style="border: 0px solid black"></SPAN></P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/datanode.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/datanode.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/datanode.html Wed Oct 31 19:57:39 2012
@@ -11,14 +11,29 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>DataNode is a Cayenne &quot;driver&quot; for a single physical data source, such as a relational database. In fact currently DataNode only handles JDBC sources (so maybe it should be renamed to JdbcDataNode?). </P>
 
 <P>DataNode doesn't do much work on its own, instead delegating most tasks to <TT>&quot;org.apache.cayenne.action.SQLAction&quot;</TT> instances returned by <A href="dbadapter.html" title="DbAdapter">DbAdapter</A>.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/dataobject-state-management.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/dataobject-state-management.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/dataobject-state-management.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>Arguably the second most important function of DataContext (first is performing queries) is keeping track of changes made to the registered DataObjects. &quot;Registered&quot; is a keyword here - registering an object with DataContext is what gives this object its persistent qualities.</P>
 
 <H3><A name="DataObjectStateManagement-HowtoRegisteraDataObject"></A>How to Register a DataObject</H3>
@@ -139,8 +151,11 @@ DataContext context; <SPAN class="code-c
 <P>This will restore the persistence state and the values of all registered objects to the values that objects had when they were fetched or the last commitChanges was executed. This effectively restores previously committed state of the object graph. Note that any NEW objects are unregistered from the context.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/dataobject-validation.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/dataobject-validation.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/dataobject-validation.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>DataObject implements a set of methods to validate its state. DataContext calls these methods before performing a commit. If validation fails, the commit is aborted with ValidationException. There are a few clear benefits of validating DataObjects at the application level before committing them to the database:</P>
 
 <UL>
@@ -76,8 +88,11 @@
 <P>Whether DataContext performs validation at all depends on the value of its property <TT>validatingObjectsOnCommit</TT>. Calling <TT>isValidatingObjectsOnCommit()</TT> returns currently configured value. Default value (usually &quot;true&quot;) is propagated from the parent DataDomain when DataContext is created. This default value can be configured using CayenneModeler as described in <A href="configuring-object-validation.html" title="Configuring Object Validation">Configuring Object Validation</A> section.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/dataobjects-example.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/dataobjects-example.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/dataobjects-example.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>As discussed in <A href="dataobjects.html" title="DataObjects">DataContext</A> chapter, any changes made to the DataObjects via &quot;set*&quot; methods are synchronized with the database by calling <TT>DataContext.commitChanges</TT>. Here is an example showing how the <TT>Painting</TT> object is fetched, modified and saved back. The following modifications are performed: the price of the first retrieved painting is doubled, a new painting is added that belongs to the same artist as the painting fetched before:</P>
 <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
 <PRE class="code-java">
@@ -75,8 +87,11 @@ List realExpensiveArt = ctxt.performQuer
 </DIV></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/dataobjects.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/dataobjects.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/dataobjects.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="DataObjects-DataObjects"></A>DataObjects</H2>
 <P>DataObjects (Cayenne persistent objects) are composed of attributes and relationships. Attributes are the simplest object properties (as in &quot;java bean properties&quot;) that can be stored in the columns in the database. Those are usually string, numeric, binary or date values. Another type of properties is relationships. They represent related DataObjects (to-one relationships) or collections of DataObjects (to-many relationships). To read and modify attributes and relationships, application code would simply invoke corresponding get or set methods. In case of to-many relationships represented by collections there are also add and remove methods.</P>
 
@@ -37,8 +49,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/dataobjectutils.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/dataobjectutils.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/dataobjectutils.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>DataObjectUtils class provides an important and easy to use facility to obtain a primary key value from a DataObject and to locate a DataObject in the database for a known primary key. Both operations work in a generic fashion and do not require primary key to be an object property.</P>
 
 <DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Security Warning</B><BR>DataObjectUtils make it very easy to use a primary key value as a universal &quot;code&quot; for an object in web forms and URLs. This opens a potential security hole in the interface. If application code is not careful enough, a malicious user can gain access to the information she is not allowed to see (e.g. other people's accounts) simply by trying a series of sequential numbers. So, for example, it is probably okay to use product PK to build a bookmarkable link to a catalog product, but it may not be appropriate to do that for a private user profile record.</TD></TR></TABLE></DIV>
@@ -41,8 +53,11 @@ DataContext context = ...;
 </DIV></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/datasource.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/datasource.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/datasource.html Wed Oct 31 19:57:39 2012
@@ -11,15 +11,30 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P><A href="datanode.html" title="DataNode">DataNode</A> obtains connections via a <TT>javax.sql.DataSource</TT>. If an application is deployed in a J2EE container, DataSource is normally provided by container <A href="using-jndi.html" title="Using JNDI">via JNDI</A>. For standalone applications (or if you don't want to use JNDI) Cayenne provides its own DataSource that includes connection pooling features. Whenever you select <TT>org.apache.cayenne.conf.DriverDataSourceFactory</TT> in the Modeler, you are choosing to use Cayenne DataSource. </P>
 
 <P>Cayenne DataSource implementation is located in the <TT>org.apache.cayenne.conn</TT> package and is fully independent from the rest of the framework. Since Cayenne DataSource is chosen automatically, users rarely need to know more details. One notable exception are applications requiring users to interactively <A href="http://cwiki.apache.org/CAY/setting-database-connection.html" class="external-link" rel="nofollow">enter database login information</A>. In this case you can write your own DataSource wrapper, and internally instantiate Cayenne DataSource (<TT>org.apache.cayenne.conn.PoolManager</TT>) after the user provides login and password.</P>
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/dbadapter.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/dbadapter.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/dbadapter.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H3><A name="DbAdapter-PortabilityAcrossDatabases"></A>Portability Across Databases</H3>
 
 <P>The JDBC specification provides a great abstraction for relational database work. Still in practice some cross-database portability issues remain:</P>
@@ -34,8 +46,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/dbcpdatasourcefactory.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/dbcpdatasourcefactory.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/dbcpdatasourcefactory.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>As an alternative to a simple and easy-to-use DataSource bundled with Cayenne, it is possible to configure a more feature-rich DataSource based on Apache Jakarta <A href="http://jakarta.apache.org/commons/dbcp" class="external-link" rel="nofollow">commons-dbcp</A>. To enable commons-dbcp pool, select <TT>DBCPDataSourceFactory</TT> in the Modeler for a DataNode:</P>
 
 <P><SPAN class="image-wrap" style=""><IMG src="dbcpdatasourcefactory.data/dbcp-step1.jpg" style="border: 0px solid black"></SPAN></P>
@@ -207,8 +219,11 @@ cayenne.dbcp.maxWait=10000</PRE>
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/delete-rules.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/delete-rules.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/delete-rules.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	
 <H3><A name="DeleteRules-DeleteRules"></A>Delete Rules</H3>
 
@@ -37,8 +49,11 @@
 <DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Cayenne Delete Rules vs. DB Delete Rules</B><BR>Some databases allow to define delete rules logically similar to the rules described above. Cayenne rules differ from DB rules in that they deal with object graph instead of relational schema. Some changes to the object graph will result in database operations (e.g. resetting FK to NULL as a result of Nullify rule), some others will not (e.g. removing a deleted DataObject from the to-many array as a result of another Nullify rule).</TD></TR></TABLE></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/deleting-objects.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/deleting-objects.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/deleting-objects.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>As discussed before, an object must be deleted in the DataContext to trigger a removal of the corresponding row from the database on commit. There are few simple ways to delete individual objects and collections of objects. Quite naturally, a delete operation changes the object state to PersistenceState.DELETED. However there maybe other consequences of such operation for the overall object graph. Such consequences are controlled via <A href="delete-rules.html" title="Delete Rules">Delete Rules</A> configured for object relationships. Properly configuring delete rules will simplify the application code, as you no longer need to track related objects and do the right thing with them. Other delete rule effects are discussed for each DataContext deletion method individually.</P>
 
 <H5><A name="DeletingObjects-Deletingasingleobject"></A>Deleting a single object</H5>
@@ -57,8 +69,11 @@ Iterator it = artist.getPaintings().iter
 </DIV></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/deployment.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/deployment.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/deployment.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="Deployment-Deployment"></A>Deployment</H2>
 
 <P>Cayenne application deployment is about configuring the application so that at runtime it can find a main project file (cayenne.xml) and associated resources, such as DataMap and DataNode XML files.</P>
@@ -42,8 +54,11 @@ DataDomain domain = conf.getDomain();
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/design.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/design.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/design.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="Design-Design"></A>Design</H2>
 <P>This chapter discusses the architecture of the Cayenne runtime framework. The information below is not strictly required to start using Cayenne, and new users can skip it initially and come back later to gain better understanding of how Cayenne operates under the hood.</P>
 
@@ -27,8 +39,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/documentation.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/documentation.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/documentation.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="Documentation-CayenneDocumentationv.3.0"></A>Cayenne Documentation - v. 3.0</H2>
 
 <P>Cayenne documentation consists of the following &quot;books&quot;:</P>
@@ -34,8 +46,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/ejbqlquery.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/ejbqlquery.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/ejbqlquery.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<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 &quot;EJB&quot; in its name is entirely misleading - the language is applicable in the non-&quot;enterprise&quot; environments just as well. Standard EJBQL syntax is specified in the <A href="../CAYJPA/jpa-guide.html" 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>
@@ -73,8 +85,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/entityresolver.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/entityresolver.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/entityresolver.html Wed Oct 31 19:57:39 2012
@@ -11,14 +11,29 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>In runtime the mapping metadata is accessed via a <A href="datachannel.html" title="DataChannel">DataChannel</A> in a form of <TT>org.apache.cayenne.map.EntityResolver</TT> (EntityResolver available via ObjectContext is usually obtained from the channel behind the scenes). EntityResolver provides a single namespace for multiple DataMaps. </P>
 
 <P>Another important function of the EntityResolver is providing access to the <TT>org.apache.cayenne.property.ClassDescriptor</TT> instances for each persistent entity. Those a compiled by Cayenne on the fly using EntityResolver's <TT>org.apache.cayenne.property.ClassDescriptorFactory</TT>.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/event-package.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/event-package.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/event-package.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	
 <P>Cayenne includes a full-featured events mechanism. It allows creation of local and distributed event queues. It is very powerful and generic; it is not tied to Cayenne persistence features in any way and can be used in any application. The most important features are:</P>
 
@@ -28,8 +40,11 @@
 <DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>The most common error when using EventSubject is not storing a reference to it. This may result in a premature cleanup of a given subject, and automatic unregistering of all listeners. Good practice is to make subject a &quot;public static final&quot; variable of the event sender class if a subject is common for all instances of senders; or make it an ivar of a sender instance if subject is only related to this instance.</TD></TR></TABLE></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/executing-a-stored-procedure.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/executing-a-stored-procedure.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/executing-a-stored-procedure.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H3><A name="ExecutingaStoredProcedure-UsingQueryResponsetoProcessComplexResults"></A>Using QueryResponse to Process Complex Results</H3>
 
 <P>Previous chapter showed how to select a single set of data rows using a ProcedureQuery. In a more general case stored procedures can return multiple sets of data, either as ResultSets or via OUT parameters, execute update/delete/insert queries, etc. To collect the results of execution of such stored procedure, you need to run a query using context's <TT>&quot;performGenericQuery&quot;</TT> method and inspect returned QueryResponse.</P>
@@ -75,8 +87,11 @@ query.addParameter(<SPAN class="code-quo
 </DIV></DIV>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/expression-factory-utilities.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/expression-factory-utilities.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/expression-factory-utilities.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<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>
@@ -120,8 +132,11 @@ Expression qual = ExpressionFactory.matc
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/expressions.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/expressions.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/expressions.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H2><A name="Expressions-Expressions"></A>Expressions</H2>
 
 <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 <A href="bnf-for-expressionparser.html" title="BNF for ExpressionParser">here</A>.</P>
@@ -31,8 +43,11 @@
 
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/extended-types.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/extended-types.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/extended-types.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>JDBC specification defines a set of &quot;standard&quot; database column types (defined in java.sql.Types class) and a very specific mapping of these types to Java Object Types, such as java.lang.String, java.math.BigDecimal, etc. Sometimes there is a need to use a custom Java type not known to JDBC driver. CayenneModeler allows to configure an arbitrary Java class as an <TT>org.apache.cayenne.map.ObjAttribute</TT> type by simply entering a fully-qualified name such class in the type column of an ObjAttribute. However there is more to it than just that. Cayenne needs to know how to instantiate this type from a database &quot;primitive&quot; value, and conversly, how to transform an object of the custom type to a JDBC-compatible object.</P>
 
 <H3><A name="ExtendedTypes-SupportingNonStandardTypes"></A>Supporting Non-Standard Types</H3>
@@ -40,8 +52,11 @@
 <P>If you are using Cayenne in a three tier (ROP) environment, serialization of the extended type becomes important. More information can be found <A href="remote-object-persistence-customization.html" title="Remote Object Persistence Customization">here.</A></P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/flattened-relationships.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/flattened-relationships.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/flattened-relationships.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<P>Flattened relationships are a fancy term for a relationship which involves three or more tables in the database. Lets say you have Artists and Exhibits. They are joined with a many-many join table called Artist_Exhibit, because many Artists could collaborate on one Exhibit and each Artist might be part of many Exhibits. Now you could map these as separate joins and end up with Java code which looks like this:</P>
 
 <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
@@ -34,8 +46,11 @@ artist.getExhibits()
 <P>See this documentation on how to <A href="cayennemodeler-flattened-relationships.html" title="CayenneModeler Flattened Relationships">create flattened relationships in Cayenne Modeler</A></P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

Modified: websites/staging/cayenne/trunk/content/doc30/general-navigation.html
==============================================================================
--- websites/staging/cayenne/trunk/content/doc30/general-navigation.html (original)
+++ websites/staging/cayenne/trunk/content/doc30/general-navigation.html Wed Oct 31 19:57:39 2012
@@ -11,7 +11,19 @@
 <script type="text/javascript" src="/js/scripts.js"></script>
 </head>
 <body>
+<div id="wrap"><div id="wrap-inner">
 
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+
+<hr>
+<div id="content">
        	<H3><A name="GeneralNavigation-GeneralNavigation"></A>General Navigation</H3>
 
 
@@ -66,8 +78,11 @@
 <P>Cayenne allows to store queries in the DataMap. There are 4 types of Cayenne queries that can be created in the Modeler - object select query, raw SQL query, procedure query and EJBQL query.</P>
 
        <hr>
-       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation.
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation
+</div>
+</div>
 
+</div></div>
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));