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 2016/12/14 13:22:26 UTC

svn commit: r1002786 [25/25] - in /websites/staging/cayenne/trunk/content: ./ docs/4.0/api/ docs/4.0/api/org/apache/cayenne/ docs/4.0/api/org/apache/cayenne/access/ docs/4.0/api/org/apache/cayenne/access/class-use/ docs/4.0/api/org/apache/cayenne/acces...

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/ch02.html
==============================================================================
--- websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/ch02.html (added)
+++ websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/ch02.html Wed Dec 14 13:22:24 2016
@@ -0,0 +1,169 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <title xmlns:d="http://docbook.org/ns/docbook">Chapter&nbsp;2.&nbsp;A few hands-on examples</title><link rel="stylesheet" type="text/css" href="css/cayenne-doc.css"><meta xmlns:d="http://docbook.org/ns/docbook" name="keywords" content="Cayenne 4.0 documentation"><meta xmlns:d="http://docbook.org/ns/docbook" name="description" content="User documentation for Apache Cayenne version 4.0"><link rel="home" href="index.html" title="Getting Started with Cayenne Reverse Engineering"><link rel="up" href="index.html" title="Getting Started with Cayenne Reverse Engineering"><link rel="prev" href="ch01.html" title="Chapter&nbsp;1.&nbsp;Introduction and Basic Usage"><script xmlns:d="http://docbook.org/ns/docbook" type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-7036673-1']);
+  _gaq.push(['_trackPageview']);
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+        </script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div xmlns:d="http://docbook.org/ns/docbook" class="navheader"><table width="100%" summary="Navigation header"><tr><th class="versioninfo">v.4.0 (4.0.M4-SNAPSHOT)</th><th align="center">Chapter&nbsp;2.&nbsp;A few hands-on examples</th><th></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="d0e115"></a>Chapter&nbsp;2.&nbsp;A few hands-on examples</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="ch02.html#renaming-table-column-example">Renaming table column example</a></span></dt><dt><span class="section"><a href="ch02.html#renaming-objattribute-example">Renaming ObjAttribute example
 </a></span></dt><dt><span class="section"><a href="ch02.html#adding-table-relationships-example">Adding table and relationships example</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a name="renaming-table-column-example"></a>Renaming table column example</h2></div></div></div><p>
+            Let's rename "name" column from the Customer table to the "first_name".
+        </p><p>
+            Database:
+        </p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">ALTER</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">TABLE</span> `customer`
+CHANGE <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">COLUMN</span> `<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">name</span>` `first_name` <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">VARCHAR</span>(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">50</span>) <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">NULL</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">DEFAULT</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">NULL</span> ;</pre><p>
+            Now we can do reverse engineering again by the command we already know:
+        </p><pre class="screen"><code class="prompt">$</code> mvn compile -Pormsync</pre><p>The output should look like this:</p><pre class="screen">[INFO] Scanning for projects...
+[INFO]
+[INFO] ------------------------------------------------------------------------
+[INFO] Building MySQLTest 0.0.1-SNAPSHOT
+[INFO] ------------------------------------------------------------------------
+[INFO]
+[INFO] --- maven-cayenne-plugin:4.0.M3:cdbimport (ormsync) @ MySQLTest ---
+Aug 16, 2016 5:07:31 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.log.CommonsJdbcEventLogger log
+INFO: Detected and installed adapter: org.apache.cayenne.dba.mysql.MySQLAdapter
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.access.DbLoader load
+INFO: Schema loading...
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:07:32 PM org.apache.cayenne.log.CommonsJdbcEventLogger log
+INFO: Detected and installed adapter: org.apache.cayenne.dba.mysql.MySQLAdapter
+[INFO]   Table: test.customer
+[INFO]   Table: test.order
+[INFO]     Db Relationship : toOne  (order.customer_id, customer.id)
+[INFO]     Db Relationship : toMany (customer.id, order.customer_id)
+[INFO]
+[INFO] Detected changes:
+[INFO]     Add Column           customer.first_name
+[INFO]     Drop Column          customer.name
+[INFO]
+[INFO] Migration Complete Successfully.
+[INFO]
+[INFO] --- maven-cayenne-plugin:4.0.M3:cgen (ormsync) @ MySQLTest ---
+[INFO] Generating superclass file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/auto/_Customer.java
+[INFO] Generating superclass file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/auto/_Order.java
+[INFO]</pre><p>
+            As you could see, cdbimport task found and applied our changes to the model. Then, superclasses was updated by 
+            cgen task to catch our changes. Notice that Cayenne treated a column renaming change as dropping and adding 
+            a new column, because it can&#8217;t really track the renaming change.
+        </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a name="renaming-objattribute-example"></a>Renaming ObjAttribute example</h2></div></div></div><p>
+            Let&#8217;s rename an "amount" ObjAttribute name to "totalPrice" in Order ObjectEntity. After running
+            reverse engineering task, the output will show you no changes to import:
+        </p><pre class="screen">[INFO] Scanning for projects...
+[INFO]
+[INFO] ------------------------------------------------------------------------
+[INFO] Building MySQLTest 0.0.1-SNAPSHOT
+[INFO] ------------------------------------------------------------------------
+[INFO]
+[INFO] --- maven-cayenne-plugin:4.0.M3:cdbimport (ormsync) @ MySQLTest ---
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.log.CommonsJdbcEventLogger log
+INFO: Detected and installed adapter: org.apache.cayenne.dba.mysql.MySQLAdapter
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.access.DbLoader load
+INFO: Schema loading...
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:26:53 PM org.apache.cayenne.log.CommonsJdbcEventLogger log
+INFO: Detected and installed adapter: org.apache.cayenne.dba.mysql.MySQLAdapter
+[INFO]   Table: test.customer
+[INFO]   Table: test.order
+[INFO]     Db Relationship : toOne  (order.customer_id, customer.id)
+[INFO]     Db Relationship : toMany (customer.id, order.customer_id)
+[INFO]
+[INFO] Detected changes: No changes to import.
+[INFO]
+[INFO] --- maven-cayenne-plugin:4.0.M3:cgen (ormsync) @ MySQLTest ---
+[INFO] Generating superclass file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/auto/_Customer.java
+[INFO] Generating superclass file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/auto/_Order.java
+[INFO]</pre><p>
+            As you could see, cdbimport task didn't detect any changes. Whenever you change anything in &#8220;obj-attribute&#8221; xml element 
+            it will not reflect anything on the database side. But your changes will be reflected in auto generated java classes
+            by cgen task.
+        </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a name="adding-table-relationships-example"></a>Adding table and relationships example</h2></div></div></div><p>
+            In this section we are going to add a new table "ordered_product" with foreign key relationships between the existing tables.
+            So our schema will look as follows:
+        </p><p>
+            SQL
+        </p><pre class="programlisting"><span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">CREATE</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">TABLE</span> `ordered_product` (
+`customer_order_id` <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">INT</span>(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">11</span>) <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">NOT</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">NULL</span>,
+`product_id` <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">INT</span>(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">11</span>) <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">DEFAULT</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">NULL</span>,
+`quantity` <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">SMALLINT</span>(<span xmlns="http://www.w3.org/1999/xhtml" class="hl-number">6</span>) <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">DEFAULT</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">NULL</span>,
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">PRIMARY</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">KEY</span> (`customer_order_id`),
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">KEY</span> `fk_product_references_idx` (`product_id`),
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">CONSTRAINT</span> `fk_order_references` <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">FOREIGN</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">KEY</span> (`customer_order_id`) <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">REFERENCES</span> `<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">order</span>` (`id`)
+<span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">ON</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">DELETE</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">CASCADE</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">ON</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">UPDATE</span> <span xmlns="http://www.w3.org/1999/xhtml" class="hl-keyword">CASCADE</span>);</pre><p>
+            <span class="inlinemediaobject"><img src="images/customer-order-ordered_product.png"></span>
+        </p><p>
+            After running the reverse engineering task again as described in the previous examples, the new output will 
+            show a few actual DB operations:
+        </p><pre class="screen">[INFO] Scanning for projects...
+[INFO]
+[INFO] ------------------------------------------------------------------------
+[INFO] Building MySQLTest 0.0.1-SNAPSHOT
+[INFO] ------------------------------------------------------------------------
+[INFO]
+[INFO] --- maven-cayenne-plugin:4.0.M3:cdbimport (ormsync) @ MySQLTest ---
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.log.CommonsJdbcEventLogger log
+INFO: Detected and installed adapter: org.apache.cayenne.dba.mysql.MySQLAdapter
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.access.DbLoader load
+INFO: Schema loading...
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.datasource.DriverDataSource logConnect
+INFO: Connecting to 'jdbc:mysql://127.0.0.1:3306/test' as 'root'
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.datasource.DriverDataSource getConnection
+INFO: +++ Connecting: SUCCESS.
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.log.CommonsJdbcEventLogger log
+INFO: Detected and installed adapter: org.apache.cayenne.dba.mysql.MySQLAdapter
+[INFO]   Table: test.customer
+[INFO]   Table: test.order
+[INFO]   Table: test.ordered_product
+[INFO]     Db Relationship : toOne  (ordered_product.customer_order_id, order.id)
+[INFO]     Db Relationship : toOne  (order.id, ordered_product.customer_order_id)
+[INFO]     Db Relationship : toOne  (order.customer_id, customer.id)
+[INFO]     Db Relationship : toMany (customer.id, order.customer_id)
+[INFO]
+[INFO] Detected changes:
+[INFO]     Add Relationship     customerOrder order-&gt;ordered_product.customer_order_id
+[INFO]     Create Table         ordered_product
+[INFO]
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.util.EntityMergeSupport addMissingRelationships
+WARNING: Can't find ObjEntity for ordered_product
+Aug 16, 2016 5:43:52 PM org.apache.cayenne.util.EntityMergeSupport addMissingRelationships
+WARNING: Db Relationship (Db Relationship : toOne  (order.id, ordered_product.customer_order_id)) will have GUESSED Obj Relationship reflection.
+[INFO] Migration Complete Successfully.
+[INFO]
+[INFO] --- maven-cayenne-plugin:4.0.M3:cgen (ormsync) @ MySQLTest ---
+[INFO] Generating superclass file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/auto/_Customer.java
+[INFO] Generating superclass file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/auto/_Order.java
+[INFO] Generating superclass file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/auto/_OrderedProduct.java
+[INFO] Generating class file: **/MySQLTest/src/main/java/org/apache/cayenne/shopping/OrderedProduct.java
+[INFO]</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;</td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;Introduction and Basic Usage&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;</td></tr></table></div></body></html>
\ No newline at end of file

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/css/cayenne-doc.css
==============================================================================
--- websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/css/cayenne-doc.css (added)
+++ websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/css/cayenne-doc.css Wed Dec 14 13:22:24 2016
@@ -0,0 +1,148 @@
+@IMPORT url("highlight.css");
+
+html {
+    padding:       0pt;
+    margin:        0pt;
+}
+
+body, td {
+    margin-left:   10%;
+    margin-right:  10%;
+    font-family:   "Lucida Grande","Trebuchet MS",Verdana,sans-serif;
+    font-size: small;
+}
+
+div {
+    margin:        0pt;
+}
+
+p {
+    text-align:    justify;
+}
+
+hr {
+    border:        1px solid gray;
+    background:    gray;
+}
+
+h1, h2, h3, h4 {
+    font-family: "Trebuchet MS","Lucida Grande",Verdana,sans-serif;
+    font-weight: normal;
+    line-height: normal;
+    margin: 1em 0 0.5em;
+}
+
+h2 {
+    color: #660000;
+    font-size: 170%;
+    padding: 0;
+}
+
+h3 {
+    border-bottom: 1px solid #EAEAEA;
+    color: #CC4400;
+    font-size: 135%;
+    padding-bottom: 3px;
+}
+
+h4 {
+    color: #AAAA99;
+    font-size: 130%;
+}
+
+pre {
+    line-height:   1.0;
+    color:         black;
+
+    -moz-tab-size: 4;
+    -o-tab-size:   4;
+    tab-size:      4;
+}
+
+pre.programlisting {
+    font-size:     10pt;
+    padding:       7pt 3pt;
+    border:        1pt solid black;
+    background:    #F9F9F6;
+    clear:         both;
+}
+
+pre.screen {
+    font-family: Courier New,monospace;
+    font-size:     10pt;
+    padding:       7pt 3pt;
+    border:        1pt solid black;
+    background:    #F9F9F6;
+}
+
+div.table {
+    margin:        1em;
+    padding:       0.5em;
+    text-align:    center;
+}
+
+table[frame=void] {
+    display:       table;
+    width:         100%;
+    border:        1px black solid;
+    border-collapse: collapse;
+    border-spacing: 0;
+}
+
+table[frame=void] td {
+    padding-left:  7px;
+    padding-right: 7px;
+    border:        1px black solid;
+}
+
+table[frame=void] th {
+    padding-left:  7px;
+    padding-right: 7px;
+    border:        1px black solid;
+}
+
+.sidebar {
+    float: right;
+    margin: 10px 0 10px 30px;
+    padding: 10px 20px 20px 20px;
+    width: 33%;
+    border: 1px solid black;
+    background-color: #F4F4F4;
+    font-size: 14px;
+}
+
+.code {
+    font-family: Courier New,monospace;
+}
+
+.mediaobject {
+    padding-top: 30px;
+    padding-bottom: 30px;
+}
+
+.legalnotice {
+    font-size: 12px;
+    font-style: italic;
+}
+
+p.releaseinfo {
+    font-size: 100%;
+    font-weight: bold;
+    padding-top: 10px;
+}
+
+p.pubdate {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+span.productname {
+    font-size: 200%;
+    font-weight: bold;
+}
+
+th.versioninfo {
+    font-size: 10px;
+    font-weight: normal;
+    text-align: left;
+}
\ No newline at end of file

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/css/highlight.css
==============================================================================
--- websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/css/highlight.css (added)
+++ websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/css/highlight.css Wed Dec 14 13:22:24 2016
@@ -0,0 +1,35 @@
+/*
+   code highlight CSS resemblign the Eclipse IDE default color schema
+   @author Costin Leau
+*/
+
+.hl-keyword {
+    color: #7F0055;
+    font-weight: bold;
+}
+
+.hl-comment {
+    color: #3F5F5F;
+    font-style: italic;
+}
+
+.hl-multiline-comment {
+    color: #3F5FBF;
+    font-style: italic;
+}
+
+.hl-tag {
+    color: #3F7F7F;
+}
+
+.hl-attribute {
+    color: #7F007F;
+}
+
+.hl-value {
+    color: #2A00FF;
+}
+
+.hl-string {
+    color: #2A00FF !important;
+}
\ No newline at end of file

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer-order-ordered_product.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer-order-ordered_product.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer-order.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer-order.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer1.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer1.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer2.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/images/customer2.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/index.html
==============================================================================
--- websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/index.html (added)
+++ websites/staging/cayenne/trunk/content/docs/4.0/tutorial-reverse-engineering/index.html Wed Dec 14 13:22:24 2016
@@ -0,0 +1,20 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <title xmlns:d="http://docbook.org/ns/docbook">Getting Started with Cayenne Reverse Engineering</title><link rel="stylesheet" type="text/css" href="css/cayenne-doc.css"><meta xmlns:d="http://docbook.org/ns/docbook" name="keywords" content="Cayenne 4.0 documentation"><meta xmlns:d="http://docbook.org/ns/docbook" name="description" content="User documentation for Apache Cayenne version 4.0"><link rel="home" href="index.html" title="Getting Started with Cayenne Reverse Engineering"><link rel="next" href="ch01.html" title="Chapter&nbsp;1.&nbsp;Introduction and Basic Usage"><script xmlns:d="http://docbook.org/ns/docbook" type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-7036673-1']);
+  _gaq.push(['_trackPageview']);
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+        </script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div xmlns:d="http://docbook.org/ns/docbook" class="navheader"><table width="100%" summary="Navigation header"><tr><th class="versioninfo">v.4.0 (4.0.M4-SNAPSHOT)</th><th align="center">Getting Started with Cayenne Reverse Engineering</th><th></th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="getting-started-reverse-engineering"></a>Getting Started with Cayenne Reverse Engineering</h1></div><div><p class="copyright">Copyright &copy; 2011-2016 Apache Software Foundation and individual authors</p></div><div><div class="legalnotice"><a name="d0e12"></a><p class="legalnotice-title"><b>License</b></p><p>Licensed to the Apache Software Foundation (ASF) under o
 ne or more contributor
+                license agreements. See the NOTICE file distributed with this work for additional
+                information regarding copyright ownership. The ASF licenses this file to you under
+                the Apache License, Version 2.0 (the "License"); you may not use this file except in
+                compliance with the License. You may obtain a copy of the License at
+                http://www.apache.org/licenses/LICENSE-2.0</p><p>Unless required by applicable law or agreed to in writing, software distributed
+                under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+                CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
+                language governing permissions and limitations under the License.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="ch01.html">1. Introduction and Basic Usage</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#introduction">Introduction</a></span></dt><dt><span class="section"><a href="ch01.html#basic-usage">Basic Usage</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. A few hands-on examples</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#renaming-table-column-example">Renaming table column example</a></span></dt><dt><span class="section"><a href="ch02.html#renaming-objattribute-example">Renaming ObjAttribute example</a></span></dt><dt><span class="section"><a href="ch02.html#adding-table-relationships-example">Adding table and relationships example</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table wid
 th="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;1.&nbsp;Introduction and Basic Usage</td></tr></table></div></body></html>
\ No newline at end of file

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/chrome-webapp.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/chrome-webapp.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-attribute.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-attribute.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-datamap.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-datamap.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-dbentity.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-dbentity.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-info.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-info.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-info.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-info.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-node.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-node.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-objentity.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-objentity.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-relationship.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-relationship.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-relationship.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-relationship.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-sync.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/icon-sync.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-configuration-menu.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-configuration-menu.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-generated-classes.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-generated-classes.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-run-configuration.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-run-configuration.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-xmlfiles.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/idea-xmlfiles.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/tutorial-idea-project.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/cayenne/trunk/content/docs/4.0/tutorial/images/tutorial-idea-project.png
------------------------------------------------------------------------------
    svn:mime-type = image/png