You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2014/08/16 13:59:29 UTC

svn commit: r1618343 [1/2] - in /cayenne/site/cms/trunk/content/docs/3.0: ./ images/icons/emoticons/

Author: aadamchik
Date: Sat Aug 16 11:59:28 2014
New Revision: 1618343

URL: http://svn.apache.org/r1618343
Log:
fixing broken image

Added:
    cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/check.png
    cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/forbidden.gif
Modified:
    cayenne/site/cms/trunk/content/docs/3.0/caching-and-fresh-data.html
    cayenne/site/cms/trunk/content/docs/3.0/cayennemodeler-flattened-relationships.html
    cayenne/site/cms/trunk/content/docs/3.0/cdeploy.html
    cayenne/site/cms/trunk/content/docs/3.0/classpath.html
    cayenne/site/cms/trunk/content/docs/3.0/configuring-caching-behavior.html
    cayenne/site/cms/trunk/content/docs/3.0/converting-an-existing-business-framework.html
    cayenne/site/cms/trunk/content/docs/3.0/create-datanode.html
    cayenne/site/cms/trunk/content/docs/3.0/custom-dbadapter.html
    cayenne/site/cms/trunk/content/docs/3.0/dataobjectutils.html
    cayenne/site/cms/trunk/content/docs/3.0/delete-rules.html
    cayenne/site/cms/trunk/content/docs/3.0/event-package.html
    cayenne/site/cms/trunk/content/docs/3.0/generated-columns.html
    cayenne/site/cms/trunk/content/docs/3.0/generic-persistent-class.html
    cayenne/site/cms/trunk/content/docs/3.0/guide-to-11-features.html
    cayenne/site/cms/trunk/content/docs/3.0/guide-to-30-features.html
    cayenne/site/cms/trunk/content/docs/3.0/handling-inheritance.html
    cayenne/site/cms/trunk/content/docs/3.0/in-memory-evaluation.html
    cayenne/site/cms/trunk/content/docs/3.0/inheritance-overview.html
    cayenne/site/cms/trunk/content/docs/3.0/iterating-through-data-rows.html
    cayenne/site/cms/trunk/content/docs/3.0/lifecycle-callbacks.html
    cayenne/site/cms/trunk/content/docs/3.0/maven2-cgen.html
    cayenne/site/cms/trunk/content/docs/3.0/modeling-inheritance.html
    cayenne/site/cms/trunk/content/docs/3.0/nested-contexts.html
    cayenne/site/cms/trunk/content/docs/3.0/paginated-queries.html
    cayenne/site/cms/trunk/content/docs/3.0/prefetching.html
    cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-cws-deployment.html
    cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-installation.html
    cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-authentication.html
    cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-webservice.html
    cayenne/site/cms/trunk/content/docs/3.0/reverse-engineer-database.html
    cayenne/site/cms/trunk/content/docs/3.0/scripting-sqltemplate.html
    cayenne/site/cms/trunk/content/docs/3.0/setting-datamap-defaults.html
    cayenne/site/cms/trunk/content/docs/3.0/sqltemplate-basics.html
    cayenne/site/cms/trunk/content/docs/3.0/turning-off-context-synchronization.html
    cayenne/site/cms/trunk/content/docs/3.0/tutorial-java-classes.html
    cayenne/site/cms/trunk/content/docs/3.0/tutorial-object-relational-mapping.html
    cayenne/site/cms/trunk/content/docs/3.0/tutorial-objectcontext.html
    cayenne/site/cms/trunk/content/docs/3.0/tutorial-starting-project.html
    cayenne/site/cms/trunk/content/docs/3.0/tutorial.html
    cayenne/site/cms/trunk/content/docs/3.0/understanding-transactions.html
    cayenne/site/cms/trunk/content/docs/3.0/upgrade.html

Modified: cayenne/site/cms/trunk/content/docs/3.0/caching-and-fresh-data.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/caching-and-fresh-data.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/caching-and-fresh-data.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/caching-and-fresh-data.html Sat Aug 16 11:59:28 2014
@@ -14,7 +14,7 @@ Title: Caching and Fresh Data
 
 <P>This cache stores the actual objects and not only eliminates the time required to fetch data from the database, but also the time required to instantiate that data into Java objects.</P>
 
-<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>As of Cayenne 3.0, two types of caches (individual object and query results) are separate from each other. Query cache can be extended and managed, while individual object cache has fewer configuration options - just max size and synchronization strategy. There are plans to reconcile both caches in the following releases.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>As of Cayenne 3.0, two types of caches (individual object and query results) are separate from each other. Query cache can be extended and managed, while individual object cache has fewer configuration options - just max size and synchronization strategy. There are plans to reconcile both caches in the following releases.</TD></TR></TABLE></DIV>
 
 <H3><A name="CachingandFreshData-Sections"></A>Sections</H3>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/cayennemodeler-flattened-relationships.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/cayennemodeler-flattened-relationships.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/cayennemodeler-flattened-relationships.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/cayennemodeler-flattened-relationships.html Sat Aug 16 11:59:28 2014
@@ -7,13 +7,13 @@ Title: CayenneModeler Flattened Relation
 <P>The most common case for using flattened relationships is modeling many-to-many relationships with a join table. E.g. ARTIST DbEntity has to-many relationship to ARTIST_EXHIBIT; ARTIST_EXHIBIT in turn has a to-one relationship to EXHIBIT DbEntity. We can create a single ObjRelationship from Artist ObjEntity to Exhibit ObjEntity that spawns two DbRelationships. This will be a to-many relationship. Lets say it is called &quot;exhibitArray&quot;. Generated class file for Artist would contain a getExhibitArray() method returning a list of Exhibits for a given artist instance. An obvious advantage of having a flattened relationship in this case is to avoid mapping a join table as an object, meaningless in the context of the object model.</P>
 
 <P>Flattened relationships work across any combination of to-one and to-many DbRelationships. If all the relationships are to-one, then the resulting flattened relationship is also to-one. If there is at least one to-many, the result is to-many as well.</P>
-<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>Read-Only Note</B><BR>Most of flattened relationships are treated as read-only by Cayenne. Only one (the most commonly used) type is read/write. It is many-to-many (n:m) flattened relationships with a single join table.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Read-Only Note</B><BR>Most of flattened relationships are treated as read-only by Cayenne. Only one (the most commonly used) type is read/write. It is many-to-many (n:m) flattened relationships with a single join table.</TD></TR></TABLE></DIV>
 
 <P>To map an ObjRelationship to a chain of DbRelationships, select ObjRelationship table row and click &quot;Edit Relationship&quot; button in the bottom right. &quot;ObjRelationship Inspector&quot; dialog will appear. The dialog contains a DbRelationship navigator, allowing to map regular as well as flattened relationships:</P>
 
 <P><SPAN class="image-wrap" style=""><IMG src="cayennemodeler-flattened-relationships.data/modeler-flattenedrelationship.png" style="border: 0px solid black"></SPAN></P>
 
 
-<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>Join Table Tip</B><BR>If you flatten across a join table and this join table was mapped to an ObjEntity (and a correspoding Java class), such ObjEntity can be deleted, as it is no longer needed. Underlying DbEntity must be preserved.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Join Table Tip</B><BR>If you flatten across a join table and this join table was mapped to an ObjEntity (and a correspoding Java class), such ObjEntity can be deleted, as it is no longer needed. Underlying DbEntity must be preserved.</TD></TR></TABLE></DIV>
 
 <P>Further information about flattened relationships can be <A href="flattened-relationships.html" title="Flattened Relationships">found here</A>.</P>

Modified: cayenne/site/cms/trunk/content/docs/3.0/cdeploy.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/cdeploy.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/cdeploy.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/cdeploy.html Sat Aug 16 11:59:28 2014
@@ -1,6 +1,6 @@
 Title: cdeploy
 
-	<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>Deprecation Warning</B><BR>cdeploy is deprecated in 3.0 and will be removed in subsequent releases</TD></TR></TABLE></DIV>
+	<DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Deprecation Warning</B><BR>cdeploy is deprecated in 3.0 and will be removed in subsequent releases</TD></TR></TABLE></DIV>
 
 <P><TT>cdeploy</TT> is an Ant task that configures Cayenne connection information in existing jar files that contain Cayenne project information. It is useful for the automation of deployment of Cayenne-based frameworks in different environments.</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/classpath.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/classpath.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/classpath.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/classpath.html Sat Aug 16 11:59:28 2014
@@ -5,6 +5,6 @@ Title: ClassPath
 
 <P>ClassPath Preferences panel allows users to add or remove locations of the external class libraries (JAR, ZIP, or class directories). These external libraries will be used by CayenneModeler to load JDBC drivers, custom DB adapters, or any other Java resources that are not a part of the Modeler distribution itself.</P>
 
-<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>Modeler ClassNotFound Errors</B><BR>If you encounter any CLASSPATH-related errors during DB reverse engineering, DataSource configuration, etc., in most cases you simply need to go to Preferences ClassPath panel and add an entry pointing to a missing external library.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Modeler ClassNotFound Errors</B><BR>If you encounter any CLASSPATH-related errors during DB reverse engineering, DataSource configuration, etc., in most cases you simply need to go to Preferences ClassPath panel and add an entry pointing to a missing external library.</TD></TR></TABLE></DIV>
 
 <P><SPAN class="image-wrap" style=""><IMG src="classpath.data/prefs-classpath.jpg" style="border: 0px solid black"></SPAN></P>

Modified: cayenne/site/cms/trunk/content/docs/3.0/configuring-caching-behavior.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/configuring-caching-behavior.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/configuring-caching-behavior.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/configuring-caching-behavior.html Sat Aug 16 11:59:28 2014
@@ -23,11 +23,11 @@ Title: Configuring Caching Behavior
 
 <P>Configuration that allows to notify other applications about changes made by an application and to listen for such changes made by others. This type of configuration incurs the most overhead, because it will constantly send and receive synchronization messages, but it is also the most powerful configuration. Cayenne currently supports the use of JMS and JavaGroups frameworks for synchronization, and also allows users to create their own transport mechanism. </P>
 
-<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>Cayenne distribution does not include JavaGroups or JMS libraries. Those must be downloaded and installed separately. However until deployment phase, Cayenne does not require those libraries to be installed.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Cayenne distribution does not include JavaGroups or JMS libraries. Those must be downloaded and installed separately. However until deployment phase, Cayenne does not require those libraries to be installed.</TD></TR></TABLE></DIV>
 
 <P>To configure distributed cache sharing, check &quot;Remote Change Notifications&quot; checkbox, and click &quot;Configure&quot; button to select and configure the type of transport to use.</P>
 
-<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>Synchronization is only done between remote DataDomains with the same name. Note that for JavaGroups configuration, a combination of multicast address and port must be unique for each DataDomain name.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Synchronization is only done between remote DataDomains with the same name. Note that for JavaGroups configuration, a combination of multicast address and port must be unique for each DataDomain name.</TD></TR></TABLE></DIV>
 
 <H3><A name="ConfiguringCachingBehavior-ChoosingJavaGroupsoverJMS"></A>Choosing JavaGroups over JMS</H3>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/converting-an-existing-business-framework.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/converting-an-existing-business-framework.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/converting-an-existing-business-framework.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/converting-an-existing-business-framework.html Sat Aug 16 11:59:28 2014
@@ -5,7 +5,7 @@ Title: Converting an Existing Business F
 
 <P>If there is an existing data layer (e.g. DAO) that needs to be converted to Cayenne, currently most of the mapping tasks will have to be done manually using the Modeler.</P>
 
-<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>Note for EOF Users</B><BR>CayenneModeler provides import function for the EOModels. So most of the mapping conversions should be automatic.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Note for EOF Users</B><BR>CayenneModeler provides import function for the EOModels. So most of the mapping conversions should be automatic.</TD></TR></TABLE></DIV>
 
 <P>In any case there is a good chance of reusing business methods already defined in a persistence framework. And definitely any existing database can be used as is. One possible approach to conversion is to follow these steps:</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/create-datanode.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/create-datanode.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/create-datanode.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/create-datanode.html Sat Aug 16 11:59:28 2014
@@ -9,7 +9,7 @@ Title: Create DataNode
 
 <P><B>Configure DB Adapter.</B> As mentioned <A href="dbadapter.html" title="DbAdapter">in Cayenne User Guide</A>, RDBMS engines sometimes require special handling outside of standard JDBC scope. Cayenne abstracts it via database-specific adapters. An adapter must be selected from a &quot;DB adapter&quot; dropdown, regardless what type of DataSource factory (see below) is used . Standard adapters distributed with Cayenne (including a generic JDBCAdapter) are listed in the dropdown. If you created your own adapter, type the full class name of a class that implements DbAdapter interface instead. </P>
 
-<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>Hint</B><BR>If entering custom DbAdapter results in Modeler showing a warning, it is likely a CLASSPATH issue. In this case you will need to setup the location of compiled custom adapter classes in &quot;Tools &gt; Preferences &gt; ClassPath&quot;.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Hint</B><BR>If entering custom DbAdapter results in Modeler showing a warning, it is likely a CLASSPATH issue. In this case you will need to setup the location of compiled custom adapter classes in &quot;Tools &gt; Preferences &gt; ClassPath&quot;.</TD></TR></TABLE></DIV>
 
 <P><B>Select Local DataSource.</B> This is an optional, though recommended step. A &quot;Local DataSource&quot; dropdown allows to create an association between a DataNode and a <A href="local-datasources.html" title="Local DataSources">previously configured DataSources</A>. Such association is transparently stored as one of the preferences and does not affect your project XML files. This is a good way to separate database connection info stored in a given Cayenne project (i.e. deployment information) from local preferred connection settings. Also it allows to connect using JNDI DataNodes.</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/custom-dbadapter.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/custom-dbadapter.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/custom-dbadapter.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/custom-dbadapter.html Sat Aug 16 11:59:28 2014
@@ -24,14 +24,14 @@ Title: Custom DbAdapter
 </UL>
 
 
-<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>It is a good idea to put all new adapter code in its own Java package, e.g. <TT>org.apache.cayenne.dba.mydb</TT>, as default resource loading depends on that.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>It is a good idea to put all new adapter code in its own Java package, e.g. <TT>org.apache.cayenne.dba.mydb</TT>, as default resource loading depends on that.</TD></TR></TABLE></DIV>
 
 <UL>
 	<LI>Copy <TT>types.xml</TT> file from org.apache.cayenne.dba package and edit it to map standard JDBC types to the target database native types.</LI>
 </UL>
 
 
-<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>Correct mapping is needed for the Modeler to do schema generation. Technically it is not required for the runtime. However <TT>types.xml</TT> should still be there.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Correct mapping is needed for the Modeler to do schema generation. Technically it is not required for the runtime. However <TT>types.xml</TT> should still be there.</TD></TR></TABLE></DIV>
 
 <UL>
 	<LI><A href="http://cayenne.apache.org/running-unit-tests.html" class="external-link" rel="nofollow">Run existing Cayenne unit tests</A> with the new adapter, analyze the failures and change adapter code accordingly.</LI>

Modified: cayenne/site/cms/trunk/content/docs/3.0/dataobjectutils.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/dataobjectutils.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/dataobjectutils.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/dataobjectutils.html Sat Aug 16 11:59:28 2014
@@ -2,7 +2,7 @@ Title: DataObjectUtils
 
 	<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>
+<DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/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>
 
 <P>DataObjectUtils API is really straightforward and self-explanatory. It supports the most common case of a single column integer primary key, but also a more generic case of an arbitrary PK (that can also be compound, i.e. consist of more than one column). Here is an example:</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/delete-rules.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/delete-rules.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/delete-rules.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/delete-rules.html Sat Aug 16 11:59:28 2014
@@ -22,4 +22,4 @@ Title: Delete Rules
 </UL>
 
 
-<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>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/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>

Modified: cayenne/site/cms/trunk/content/docs/3.0/event-package.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/event-package.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/event-package.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/event-package.html Sat Aug 16 11:59:28 2014
@@ -13,4 +13,4 @@ Title: Event Package
 </UL>
 
 
-<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>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/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>

Modified: cayenne/site/cms/trunk/content/docs/3.0/generated-columns.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/generated-columns.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/generated-columns.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/generated-columns.html Sat Aug 16 11:59:28 2014
@@ -47,4 +47,4 @@ adapter.setSupportsGeneratedKeys(<SPAN c
 </UL>
 
 
-<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>MS SQLServer Note</B><BR>MS drivers prior to 2005 version do not support generated columns, while newer drivers and <A href="http://jtds.sourceforge.net/" class="external-link" rel="nofollow">jTDS</A> support it just fine. Cayenne can automatically detect the driver type and configure SQLServerAdapter, but only when AutoAdapter is used. To make sure auto-detection works, clear the &quot;Custom Adapter&quot; field for the corresponding DataNode in the Modeler.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>MS SQLServer Note</B><BR>MS drivers prior to 2005 version do not support generated columns, while newer drivers and <A href="http://jtds.sourceforge.net/" class="external-link" rel="nofollow">jTDS</A> support it just fine. Cayenne can automatically detect the driver type and configure SQLServerAdapter, but only when AutoAdapter is used. To make sure auto-detection works, clear the &quot;Custom Adapter&quot; field for the corresponding DataNode in the Modeler.</TD></TR></TABLE></DIV>

Modified: cayenne/site/cms/trunk/content/docs/3.0/generic-persistent-class.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/generic-persistent-class.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/generic-persistent-class.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/generic-persistent-class.html Sat Aug 16 11:59:28 2014
@@ -4,14 +4,14 @@ Title: Generic Persistent Class
 
 <P>Each kind of persistent objects (such as &quot;Artist&quot; or &quot;Painting&quot;) is described in Cayenne by a single ObjEntity. The most common and useful scenario is mapping an ObjEntity to a &quot;specialized&quot; Java class, one class per entity. But there is an alternative - use a single generic persistent object class to map any entity.</P>
 
-<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><B>Generic DataObject hints</B><BR><UL>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Generic DataObject hints</B><BR><UL>
 	<LI>Accessing generic objects is done via DataObject API (see examples below).</LI>
 	<LI>The simplest &quot;generic&quot; object class for all practical purposes is <TT>CayenneDataObject</TT>.</LI>
 	<LI>&quot;Concrete&quot; DataObject classes are by definition &quot;generic&quot; as they implement <TT>DataObject</TT>.</LI>
 </UL>
 </TD></TR></TABLE></DIV>
 
-<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><B>When to Use Generic Objects</B><BR>Generic objects are not type-safe and are not convenient for manual coding. Most applications should stick to concrete classes. Generic objects are useful in cases when all persistent properties are not fully known at compile time. It is also possible to use a hybrid approach when new persistent properties are added to the existing concrete class at runtime.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>When to Use Generic Objects</B><BR>Generic objects are not type-safe and are not convenient for manual coding. Most applications should stick to concrete classes. Generic objects are useful in cases when all persistent properties are not fully known at compile time. It is also possible to use a hybrid approach when new persistent properties are added to the existing concrete class at runtime.</TD></TR></TABLE></DIV>
 
 <H2><A name="GenericPersistentClass-MappinginCayenneModeler"></A>Mapping in CayenneModeler</H2>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/guide-to-11-features.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/guide-to-11-features.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/guide-to-11-features.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/guide-to-11-features.html Sat Aug 16 11:59:28 2014
@@ -13,7 +13,7 @@ Title: Guide to 1.1 Features
 </UL>
 
 
-<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>Upgrade Warning</B><BR>Saving projects with CayenneModeler v.1.1 will render them uneditable with CayenneModeler v.1.0.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Upgrade Warning</B><BR>Saving projects with CayenneModeler v.1.1 will render them uneditable with CayenneModeler v.1.0.</TD></TR></TABLE></DIV>
 
 <H3><A name="Guideto1.1Features-AdvancedLocalandDistributedCaching"></A>Advanced Local and Distributed Caching</H3>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/guide-to-30-features.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/guide-to-30-features.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/guide-to-30-features.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/guide-to-30-features.html Sat Aug 16 11:59:28 2014
@@ -168,7 +168,7 @@ Title: Guide to 3.0 Features
 
 <H2><A name="Guideto3.0Features-CayenneModeler"></A>CayenneModeler</H2>
 
-<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>Upgrade Warning</B><BR>Saving projects with CayenneModeler v.3.0 will render them uneditable with earlier versions of the Modeler</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Upgrade Warning</B><BR>Saving projects with CayenneModeler v.3.0 will render them uneditable with earlier versions of the Modeler</TD></TR></TABLE></DIV>
 
 <P>The Modeler underwent significant changes with the goal to improve usability and look-and-feel.</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/handling-inheritance.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/handling-inheritance.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/handling-inheritance.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/handling-inheritance.html Sat Aug 16 11:59:28 2014
@@ -55,4 +55,4 @@ List employees = context.performQuery(qu
 
 <DIV class="panelMacro"><TABLE class="infoMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Whenever an object is obtained via a relationship, it is always fully resolved to the lowest possible subclass in an entity inheritance tree.</TD></TR></TABLE></DIV>
 
-<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>Use <TT>setResolvingInherited(false)</TT> with caution, and only if you never plan to work with subclasses. The downside of it is that the DataContext may end up with two objects pointing to the same database row, thus violating uniquing principle. With the above example, this may happen if at a later time user decides to fetch Managers directly, or if a Manager object is obtained via a relationship.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Use <TT>setResolvingInherited(false)</TT> with caution, and only if you never plan to work with subclasses. The downside of it is that the DataContext may end up with two objects pointing to the same database row, thus violating uniquing principle. With the above example, this may happen if at a later time user decides to fetch Managers directly, or if a Manager object is obtained via a relationship.</TD></TR></TABLE></DIV>

Added: cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/check.png
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/check.png?rev=1618343&view=auto
==============================================================================
Files cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/check.png (added) and cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/check.png Sat Aug 16 11:59:28 2014 differ

Added: cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/forbidden.gif
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/forbidden.gif?rev=1618343&view=auto
==============================================================================
Files cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/forbidden.gif (added) and cayenne/site/cms/trunk/content/docs/3.0/images/icons/emoticons/forbidden.gif Sat Aug 16 11:59:28 2014 differ

Modified: cayenne/site/cms/trunk/content/docs/3.0/in-memory-evaluation.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/in-memory-evaluation.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/in-memory-evaluation.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/in-memory-evaluation.html Sat Aug 16 11:59:28 2014
@@ -13,7 +13,7 @@ Title: In-Memory Evaluation
 </UL>
 
 
-<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>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></DIV>
+<DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>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></DIV>
 
 <P>Here is an example of evaluating expression with a single object:</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/inheritance-overview.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/inheritance-overview.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/inheritance-overview.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/inheritance-overview.html Sat Aug 16 11:59:28 2014
@@ -4,7 +4,7 @@ Title: Inheritance Overview
 
 <P>Inheritance is a familiar and a very useful concept to any Java developer. There are three common ways of mapping it to a relational schema. In Cayenne we are calling them &quot;single table&quot;, &quot;vertical&quot; and &quot;horizontal&quot;. Other ORM frameworks may use different terms for those (e.g. in JPA &quot;single table&quot; is called &quot;single table per class&quot;, &quot;vertical&quot; - &quot;joined subclass&quot;, and &quot;horizontal&quot; - &quot;table per concrete class&quot;, still they are referring to the same types of mapping). The picture below is a high-level representation of these three strategies. We'll discuss them in general terms in this chapter and provide Cayenne-specific details in dedicated chapters. </P>
 
-<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>As of this writing Cayenne does not support horizontal inheritance. It may in the future.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>As of this writing Cayenne does not support horizontal inheritance. It may in the future.</TD></TR></TABLE></DIV>
 
 
 <H2><A name="InheritanceOverview-TypesofInheritance"></A>Types of Inheritance</H2>

Modified: cayenne/site/cms/trunk/content/docs/3.0/iterating-through-data-rows.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/iterating-through-data-rows.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/iterating-through-data-rows.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/iterating-through-data-rows.html Sat Aug 16 11:59:28 2014
@@ -4,7 +4,7 @@ Title: Iterating Through Data Rows
 
 <P>Cayenne solves this by allowing to obtain results in the form of ResultIterator. ResultIterator is connected to an open java.sql.ResultSet, therefore its methods may throw checked exceptions. ResultIterator returns data rows (not DataObjects) one at a time, reading them on demand from the open ResultSet. Each data row can be converted to a DataObject or accessed directly. Open ResultIterator locks the database connection, therefore <B>ResultIterator always requires explicit closing in the user code</B>.</P>
 
-<DIV class="panelMacro"><TABLE class="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>In web applications, programmers must ensure that no open ResultIterators are kept between HTTP requests. Failure to do so may result in too many database connections being locked, thus quickly exhausting connection pool.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>In web applications, programmers must ensure that no open ResultIterators are kept between HTTP requests. Failure to do so may result in too many database connections being locked, thus quickly exhausting connection pool.</TD></TR></TABLE></DIV>
 
 <P>When working with open ResultIterator, users still can perform any other database operations: select queries, traversing object relationships, etc. Any parallel data operation will internally check out an unused connection from the connection pool as it would normally do, while ResultIterator still locks its own connection.</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/lifecycle-callbacks.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/lifecycle-callbacks.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/lifecycle-callbacks.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/lifecycle-callbacks.html Sat Aug 16 11:59:28 2014
@@ -4,7 +4,7 @@ Title: Lifecycle Callbacks
 
 <P>Users can register callback methods that will be invoked during the lifecycle of persistent objects. Callback mechanism is similar to the one defined in the <A href="../CAYJPA/jpa-guide.html" title="JPA Guide">JPA Specification</A>, however there are some noteable differences introduced to better follow the Cayenne object lifecycle. There are eight lifecycle callbacks described below (PostAdd, PrePersist, PostPersist, PreUpdate, PostUpdate, PreRemove, PostRemove, PostLoad). Each one cab be invoked as a <B>callback on a persistent object</B> itself or as a <B>callback on an arbitrary listener object</B>.</P>
 
-<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Callbacks feature supercedes the following 1.2/2.0 features:</B><BR><UL>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Callbacks feature supercedes the following 1.2/2.0 features:</B><BR><UL>
 	<LI>Interception of object state transitions inside <TT>&quot;Persistent.setPersistenceState()&quot;</TT>.</LI>
 	<LI>Event mechanism defined in <TT>&quot;org.apache.cayenne.access.event&quot;</TT> package that was removed in 3.0.</LI>
 	<LI><TT>&quot;DataObject.validateForX&quot;</TT> - it is a good idea to use it strictly for validation; updating the state before commit should be done via callbacks.</LI>

Modified: cayenne/site/cms/trunk/content/docs/3.0/maven2-cgen.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/maven2-cgen.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/maven2-cgen.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/maven2-cgen.html Sat Aug 16 11:59:28 2014
@@ -137,7 +137,7 @@ Title: maven2-cgen
 <P>Here is an example of using CGen to generate Persistent subclass/superclass pairs from DataMap located in &quot;main/resources/datamap.map.xml&quot;.</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>There's an intermittent problem when using Maven/cgen in Eclipse with m2eclipse plugin that requires placing &lt;configuration&gt;..&lt;/configuration&gt; at the plugin level, instead of execution level.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="warningMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>There's an intermittent problem when using Maven/cgen in Eclipse with m2eclipse plugin that requires placing &lt;configuration&gt;..&lt;/configuration&gt; at the plugin level, instead of execution level.</TD></TR></TABLE></DIV>
 
 
 <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">

Modified: cayenne/site/cms/trunk/content/docs/3.0/modeling-inheritance.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/modeling-inheritance.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/modeling-inheritance.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/modeling-inheritance.html Sat Aug 16 11:59:28 2014
@@ -4,7 +4,7 @@ Title: Modeling Inheritance
 
 <P>Inheritance is a familiar and a very useful concept to any Java developer. There are three common ways of mapping it to a relational schema. In Cayenne we are calling them &quot;single table&quot;, &quot;vertical&quot; and &quot;horizontal&quot;. Other ORM frameworks may use different terms for those (e.g. in JPA &quot;single table&quot; is called &quot;single table per class&quot;, &quot;vertical&quot; - &quot;joined subclass&quot;, and &quot;horizontal&quot; - &quot;table per concrete class&quot;, still they are referring to the same types of mapping). The picture below is a high-level representation of these three strategies. </P>
 
-<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>As of this writing Cayenne does not support horizontal inheritance. It may in the future.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>As of this writing Cayenne does not support horizontal inheritance. It may in the future.</TD></TR></TABLE></DIV>
 
 <P><SPAN class="image-wrap" style=""><IMG src="modeling-inheritance.data/inheritance-overview.png" style="border: 0px solid black"></SPAN></P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/nested-contexts.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/nested-contexts.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/nested-contexts.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/nested-contexts.html Sat Aug 16 11:59:28 2014
@@ -6,13 +6,13 @@ Title: Nested Contexts
 
 <P>Same thing is true when ObjectContext is used via ROP. Committing changes to a nested ROP ObjectContext (CayenneContext) locally will not result in sending data to a server.</P>
 
-<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>ROP</B><BR>Nested contexts are available in Cayenne ROP (three tier) only from version 3.0M6.</TD></TR></TABLE></DIV> 
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>ROP</B><BR>Nested contexts are available in Cayenne ROP (three tier) only from version 3.0M6.</TD></TR></TABLE></DIV> 
 
 <P>Nested contexts are useful in many situations, such as nested UI dialogs, complicated workflows, etc.</P>
 
 <H3><A name="NestedContexts-CreatingNestedContexts"></A>Creating Nested Contexts</H3>
 
-<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>Deprecation</B><BR>Since 3.0M6 a new method, <TT>ObjectContext.createChildContext()</TT> was introduced, so <TT>DataContext.createChildDataContext()</TT> is now deprecated. Please update your code properly.</TD></TR></TABLE></DIV> 
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Deprecation</B><BR>Since 3.0M6 a new method, <TT>ObjectContext.createChildContext()</TT> was introduced, so <TT>DataContext.createChildDataContext()</TT> is now deprecated. Please update your code properly.</TD></TR></TABLE></DIV> 
 
 <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
 <PRE class="code-java">ObjectContext parent = ...

Modified: cayenne/site/cms/trunk/content/docs/3.0/paginated-queries.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/paginated-queries.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/paginated-queries.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/paginated-queries.html Sat Aug 16 11:59:28 2014
@@ -42,4 +42,4 @@ q.setPageSize(50);
 </PRE>
 </DIV></DIV>
 
-<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><B>Combining data rows and paginated queries</B><BR>Cayenne supports combining both performance optimizations in the same query - fetching data rows (see previous chapters) and paginated queries. So if users work with tabular data and don't care much about real objects, combining the two approaches would improve speed and memory use even more.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Combining data rows and paginated queries</B><BR>Cayenne supports combining both performance optimizations in the same query - fetching data rows (see previous chapters) and paginated queries. So if users work with tabular data and don't care much about real objects, combining the two approaches would improve speed and memory use even more.</TD></TR></TABLE></DIV>

Modified: cayenne/site/cms/trunk/content/docs/3.0/prefetching.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/prefetching.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/prefetching.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/prefetching.html Sat Aug 16 11:59:28 2014
@@ -61,7 +61,7 @@ PrefetchTreeNode treeRoot = query.getPre
 
 <P>Each node specifies the name of prefetch path segment and execution semantics. There are two flavors of prefetch semantics - <B>joint</B> and <B>disjoint</B>. Semantics of each node is initially determined by Cayenne when a new prefetch path is added, and can be later customized by the user (e.g., see joint example below).</P>
 
-<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>In most cases prefetch semantics is of no concern to the users. Cayenne will do its best to configure the right semantics on the fly. Don't tweak semantics unless you understand the implications and have some proof that different semantics would result in better select performance on your database.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>In most cases prefetch semantics is of no concern to the users. Cayenne will do its best to configure the right semantics on the fly. Don't tweak semantics unless you understand the implications and have some proof that different semantics would result in better select performance on your database.</TD></TR></TABLE></DIV>
 
 <P>Some internal semantics rules:</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-cws-deployment.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-cws-deployment.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-cws-deployment.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-cws-deployment.html Sat Aug 16 11:59:28 2014
@@ -4,7 +4,7 @@ Title: Remote Object Persistence CWS Dep
 
 <P><A href="http://www.caucho.com/hessian/" class="external-link" rel="nofollow">Hessian-based</A> Cayenne Web Service is a regular Java web application that contains Cayenne mapping file and persistent objects. What makes it a web service is a HessianServlet mapped via web.xml that handles requests from Cayenne Client Tier applications.</P>
 
-<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>Client tier Java classes have to be present on the server together with server DataObjects. So you'll end up with two sets of objects mapped to the same set of entities. Hopefully we will get rid of this inconvenience in the future releases.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Client tier Java classes have to be present on the server together with server DataObjects. So you'll end up with two sets of objects mapped to the same set of entities. Hopefully we will get rid of this inconvenience in the future releases.</TD></TR></TABLE></DIV>
 
 <H3><A name="RemoteObjectPersistenceCWSDeployment-AtypicalCWSapplication.warfile%3A"></A>A typical CWS application .war file:</H3>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-installation.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-installation.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-installation.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-installation.html Sat Aug 16 11:59:28 2014
@@ -26,4 +26,4 @@ Title: Remote Object Persistence Install
 
 <P>Note that there can be issues with running different versions of Hessian on the client and server since the Hessian protocols sometimes change between even minor releases. We recommend you keep them matched or look at the Hessian source to decide whether you might have compatibility issues.</P>
 
-<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>Hessian Versions</B><BR>Cayenne 3.0 works correctly with Hessian 3.0.x and 3.1.x. Hessian 4.0.2 has a <A href="http://maillist.caucho.com/pipermail/hessian-interest/2009-December/000842.html" class="external-link" rel="nofollow">bug</A> that stops ROP. Hessian 3.2.x is binary incompatible with other versions and cannot be used.</TD></TR></TABLE></DIV> 
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Hessian Versions</B><BR>Cayenne 3.0 works correctly with Hessian 3.0.x and 3.1.x. Hessian 4.0.2 has a <A href="http://maillist.caucho.com/pipermail/hessian-interest/2009-December/000842.html" class="external-link" rel="nofollow">bug</A> that stops ROP. Hessian 3.2.x is binary incompatible with other versions and cannot be used.</TD></TR></TABLE></DIV> 

Modified: cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-authentication.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-authentication.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-authentication.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-authentication.html Sat Aug 16 11:59:28 2014
@@ -29,7 +29,7 @@ Title: Remote Object Persistence Tutoria
 
 <H2><A name="RemoteObjectPersistenceTutorialAuthentication-ConfiguringJettyforBASICAuthentication"></A>Configuring Jetty for BASIC Authentication</H2>
 
-<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>These instructions are specific to Jetty 6. Other containers (and versions of Jetty) will have different mechansims to achieve the same thing.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>These instructions are specific to Jetty 6. Other containers (and versions of Jetty) will have different mechansims to achieve the same thing.</TD></TR></TABLE></DIV>
 
 <P>Open <TT>pom.xml</TT> in the server project and configure a &quot;userRealm&quot; for the Jetty plugin:</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-webservice.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-webservice.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-webservice.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/remote-object-persistence-tutorial-webservice.html Sat Aug 16 11:59:28 2014
@@ -38,7 +38,7 @@ Title: Remote Object Persistence Tutoria
 &lt;/project&gt;</PRE>
 </DIV></DIV>
 
-<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>Maven Optimization Hint</B><BR>On a real project both server and client modules will likely share a common parent pom.xml where common repository delcaration can be placed, with child pom's &quot;inheriting&quot; it from parent. This would reduce build code duplication.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Maven Optimization Hint</B><BR>On a real project both server and client modules will likely share a common parent pom.xml where common repository delcaration can be placed, with child pom's &quot;inheriting&quot; it from parent. This would reduce build code duplication.</TD></TR></TABLE></DIV>
 
 <H2><A name="RemoteObjectPersistenceTutorialWebService-ClientClassesontheServer"></A>Client Classes on the Server</H2>
 
@@ -66,7 +66,7 @@ Title: Remote Object Persistence Tutoria
 &lt;/web-app&gt;</PRE>
 </DIV></DIV>
 
-<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>Extending Server Behavior via Callbacks</B><BR>While no custom Java code is required on the server, just a service declaration, it is possible to customizing server-side behavior via <A href="lifecycle-callbacks.html" title="Lifecycle Callbacks">callbacks and listeners</A> (not shown in the tutorial).</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Extending Server Behavior via Callbacks</B><BR>While no custom Java code is required on the server, just a service declaration, it is possible to customizing server-side behavior via <A href="lifecycle-callbacks.html" title="Lifecycle Callbacks">callbacks and listeners</A> (not shown in the tutorial).</TD></TR></TABLE></DIV>
 
 
 <H2><A name="RemoteObjectPersistenceTutorialWebService-RunningROPServer"></A>Running ROP Server</H2>

Modified: cayenne/site/cms/trunk/content/docs/3.0/reverse-engineer-database.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/reverse-engineer-database.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/reverse-engineer-database.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/reverse-engineer-database.html Sat Aug 16 11:59:28 2014
@@ -5,7 +5,7 @@ Title: Reverse Engineer Database
 
 <P><B>Start Reverse Engineering.</B> To reverse engineer a database you need to select either a DataDomain or one of its children on the project tree. Then select &quot;Tools &gt; Reengineer Database Schema&quot; from the menu. &quot;Connect to Database&quot; dialog will be presented.</P>
 
-<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>Reverse-engineering behavior is sensitive to the current project tree selection. If you selected a DataDomain or a DataNode, a new DataMap will be created and all reengineered tables will be put in this DataMap. If you had an existing DataMap (or one of its entities) selected when you started reverse engineering, new tables will be merged into the existing DataMap.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Reverse-engineering behavior is sensitive to the current project tree selection. If you selected a DataDomain or a DataNode, a new DataMap will be created and all reengineered tables will be put in this DataMap. If you had an existing DataMap (or one of its entities) selected when you started reverse engineering, new tables will be merged into the existing DataMap.</TD></TR></TABLE></DIV>
 
 <P><B>Configure Database Connection.</B> &quot;Connect to Database&quot; dialog allows to specify alternative connection parameters. If a DataNode was selected when reverse engineering started, its connection information is shown by default. You can use suggested default connection, select one of the stored local DataSources from &quot;Saved DataSources&quot; dropdown (those can be edited on the spot by clicking &quot;...&quot; button), or type your own info. When desired connection is selected, click &quot;Continue&quot;. Cayenne will attempt to connect to the database and if connection is successful, &quot;Select Options&quot; dialog is presented.</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/scripting-sqltemplate.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/scripting-sqltemplate.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/scripting-sqltemplate.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/scripting-sqltemplate.html Sat Aug 16 11:59:28 2014
@@ -3,7 +3,7 @@ Title: Scripting SQLTemplate
 	<P>SQLTemplate's internal SQL string is a dynamic script that is processed at runtime to generate PreparedStatement SQL code. Dynamic nature of SQLTemplate makes possible a few important things - it allows to bind parameters on the fly; it provides a way to pass extra information to Cayenne that is not included in the SQL text; it supports including/excluding chunks of SQL depending on runtime parameters.</P>
 
 <P>Scripting of SQL strings is done using <A href="http://velocity.apache.org/" class="external-link" rel="nofollow">Apache Velocity</A>. Velocity was chosen primarily for its concise template language (no XML tags within SQL!) that doesn't conflict with the SQL syntax. When creating dynamic SQL template, all standard Velocity directives are available, including <TT>#set</TT>, <TT>#foreach</TT>, <TT>#if</TT>. However due to the nature of the SQL and the need to integrate it with Cayenne runtime, only a few Cayenne custom directives are normally used. These directives (<TT>#bind</TT>..., <TT>#result</TT>, <TT>#chain</TT>, <TT>#chunk</TT>) are described below.</P>
-<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>Directive Syntax Note</B><BR>Velocity directives start with pound sign (#) and have their parameters separated by space, not comma. E.g. <TT>#bind('SOMESTRING' 'VARCHAR')</TT>.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Directive Syntax Note</B><BR>Velocity directives start with pound sign (#) and have their parameters separated by space, not comma. E.g. <TT>#bind('SOMESTRING' 'VARCHAR')</TT>.</TD></TR></TABLE></DIV>
 
 <H3><A name="ScriptingSQLTemplate-NamedParameters"></A>Named Parameters</H3>
 <P><TT>SQLTemplate.setParameters(java.util.Map)</TT> allows setting a number of named parameters that are used to build parts of the query. During template processing by Velocity all keys in the parameters map are available as variables. For example if the map contains a key &quot;name&quot;, its value can be referenced as &quot;$name&quot; in the template. Value of the parameter will be inserted in the SQL unmodified:</P>
@@ -34,7 +34,7 @@ SQLTemplate delete = <SPAN class="code-k
 </UL>
 
 
-<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>Generally &quot;javaType&quot; argument is a fully-qualified Java class name for a given result column. However for simplicity most common Java types used in JDBC can be specified without a package. These include all numeric types, primitives, String, SQL dates, BigDecimal and BigInteger. So &quot;#result('A' 'String')&quot;, &quot;#result('B' 'java.lang.String')&quot; and &quot;#result('C' 'int')&quot; are all valid.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>Generally &quot;javaType&quot; argument is a fully-qualified Java class name for a given result column. However for simplicity most common Java types used in JDBC can be specified without a package. These include all numeric types, primitives, String, SQL dates, BigDecimal and BigInteger. So &quot;#result('A' 'String')&quot;, &quot;#result('B' 'java.lang.String')&quot; and &quot;#result('C' 'int')&quot; are all valid.</TD></TR></TABLE></DIV>
 
 <P>While &quot;select * from&quot; queries may work just fine, in many cases it is a good idea to explicitly describe results.</P>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/setting-datamap-defaults.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/setting-datamap-defaults.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/setting-datamap-defaults.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/setting-datamap-defaults.html Sat Aug 16 11:59:28 2014
@@ -26,6 +26,6 @@ Title: Setting DataMap Defaults
 <UL>
 	<LI><B>Optimistic Locking.</B> Default optimistic locking policy for ObjEntities. Clicking &quot;Update..&quot; button next to the optimistic locking checkbox will reset the optimistic locking policy of all existing ObjEntities to match the default.</LI>
 	<LI><B>Client Entities.</B> Allows you to specify remote persistence client classes. Clicking &quot;Update..&quot; button next to Client Java Package field will reset the client java package of all existing Java classes in the DataMap.
-<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>Defaults are ignored in runtime</B><BR>Note that none of the defaults affect entities runtime behavior. For example if a DbEntity &quot;ARTIST&quot; has empty schema, and a DataMap defines a default schema to be &quot;SCHEMA1&quot;, Cayenne will assume that ARTIST entity does not use schema.</TD></TR></TABLE></DIV></LI>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Defaults are ignored in runtime</B><BR>Note that none of the defaults affect entities runtime behavior. For example if a DbEntity &quot;ARTIST&quot; has empty schema, and a DataMap defines a default schema to be &quot;SCHEMA1&quot;, Cayenne will assume that ARTIST entity does not use schema.</TD></TR></TABLE></DIV></LI>
 </UL>
 

Modified: cayenne/site/cms/trunk/content/docs/3.0/sqltemplate-basics.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/sqltemplate-basics.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/sqltemplate-basics.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/sqltemplate-basics.html Sat Aug 16 11:59:28 2014
@@ -34,7 +34,7 @@ List artists = dataContext.performQuery(
 
 <P>Non-selecting SQLTemplate allows to execute arbitrary SQL that modifies the database, but does not return the results. <TT>DataContext.performNonSelectingQuery(..)</TT> is used for this task.</P>
 
-<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>When changing or deleting data via SQLTemplate you must realize that such changes are done directly to the database, bypassing the context, and therefore may potentially leave object graph in an inconsistent state.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD>When changing or deleting data via SQLTemplate you must realize that such changes are done directly to the database, bypassing the context, and therefore may potentially leave object graph in an inconsistent state.</TD></TR></TABLE></DIV>
 
 <DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
 <PRE class="code-java">

Modified: cayenne/site/cms/trunk/content/docs/3.0/turning-off-context-synchronization.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/turning-off-context-synchronization.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/turning-off-context-synchronization.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/turning-off-context-synchronization.html Sat Aug 16 11:59:28 2014
@@ -17,6 +17,6 @@ Title: Turning off Context Synchronizati
 
 <P>Of course doing this may result in some stale data in the peer DataContexts, so a decision whether to use this particular technique should be made based on the application specifics. Also a factory can have logic to selectively turn off synchronization for a subset of DataContexts based on some criteria.</P>
 
-<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><B>Don't use this for idle applications</B><BR>Note that this optimization does not affect percieved user commit time, as synchronization is done in a separate thread. It only affects the overall throughput. So it only makes sense if your application already utilizes close to a 100% of CPU.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="tipMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Don't use this for idle applications</B><BR>Note that this optimization does not affect percieved user commit time, as synchronization is done in a separate thread. It only affects the overall throughput. So it only makes sense if your application already utilizes close to a 100% of CPU.</TD></TR></TABLE></DIV>
 
 <P><EM>Further improvements in this area are tracked via <A href="http://issues.apache.org/cayenne/browse/CAY-554" class="external-link" rel="nofollow">CAY-554 Jira issue</A>.</EM></P>

Modified: cayenne/site/cms/trunk/content/docs/3.0/tutorial-java-classes.html
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/docs/3.0/tutorial-java-classes.html?rev=1618343&r1=1618342&r2=1618343&view=diff
==============================================================================
--- cayenne/site/cms/trunk/content/docs/3.0/tutorial-java-classes.html (original)
+++ cayenne/site/cms/trunk/content/docs/3.0/tutorial-java-classes.html Sat Aug 16 11:59:28 2014
@@ -43,7 +43,7 @@ Title: Tutorial Java Classes
 <P><SPAN class="image-wrap" style=""><IMG src="tutorial-java-classes.data/eclipse-generatedclasses.png" style="border: 0px solid black"></SPAN></P>
 
 
-<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>Class Generation Hint</B><BR>Often you'd start by generating classes from the Modeler, but at the later stages of the project the generation is usually automated either via <A href="cgen.html" title="cgen">Ant cgen task</A> or <A href="maven2-cgen.html" title="maven2-cgen">Maven cgen mojo</A>. All three methods are interchangeable, however Ant and Maven methods would ensure that you never forget to regenerate classes on mapping changes, as they are integrated into the build cycle.</TD></TR></TABLE></DIV>
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="http://cayenne.apache.org/docs/3.0/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>Class Generation Hint</B><BR>Often you'd start by generating classes from the Modeler, but at the later stages of the project the generation is usually automated either via <A href="cgen.html" title="cgen">Ant cgen task</A> or <A href="maven2-cgen.html" title="maven2-cgen">Maven cgen mojo</A>. All three methods are interchangeable, however Ant and Maven methods would ensure that you never forget to regenerate classes on mapping changes, as they are integrated into the build cycle.</TD></TR></TABLE></DIV>
 
 
 <HR>