cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ntimof...@apache.org
Subject [03/11] cayenne git commit: CAY-2371 Switch documentation from Docbook to Asciidoctor format
Date Fri, 05 Jan 2018 14:21:31 GMT
http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/html.xsl
----------------------------------------------------------------------
diff --git a/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/html.xsl b/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/html.xsl
deleted file mode 100644
index 11b6d4f..0000000
--- a/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/html.xsl
+++ /dev/null
@@ -1,244 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Licensed to the Apache Software Foundation (ASF) under one
-	or more contributor license agreements.  See the NOTICE file
-	distributed with this work for additional information
-	regarding copyright ownership.  The ASF licenses this file
-	to you under the Apache License, Version 2.0 (the
-	"License"); you may not use this file except in compliance
-	with the License.  You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing,
-	software distributed under the License is distributed on an
-	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	KIND, either express or implied.  See the License for the
-	specific language governing permissions and limitations
-	under the License.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0" xmlns:d="http://docbook.org/ns/docbook">
-
-
-    <xsl:import href="urn:docbkx:stylesheet"/>
-    <xsl:import href="highlight.xsl"/>
-    <xsl:include href="common-customizations.xsl"/>
-
-    <!--<xsl:param name="highlight.source" select="1"/>-->
-    <xsl:param name="html.stylesheet" select="'css/cayenne-doc.css'"/>
-    <xsl:param name="chunker.output.encoding">UTF-8</xsl:param>
-
-    <!-- Only chapters start a new page -->
-    <xsl:param name="chunk.section.depth">0</xsl:param>
-
-    <!-- Don't add any embedded styles -->
-    <xsl:param name="css.decoration">0</xsl:param>
-
-    <xsl:param name="ignore.image.scaling">1</xsl:param>
-
-    <xsl:param name="use.id.as.filename">1</xsl:param>
-
-    <xsl:param name="navig.showtitles">1</xsl:param>
-
-    <!--
-        BODY > HEAD Customization
-        Customized template for generate meta tags with cayenne version in head of
-        page with documentation
-    -->
-    <xsl:template name="head.content">
-        <xsl:param name="node" select="."/>
-        <xsl:param name="title">
-            <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/>
-        </xsl:param>
-
-        <title>
-            <xsl:copy-of select="$title"/>
-        </title>
-
-        <xsl:if test="$html.base != ''">
-            <base href="{$html.base}"/>
-        </xsl:if>
-
-        <!-- Insert links to CSS files or insert literal style elements -->
-        <xsl:call-template name="generate.css"/>
-
-        <xsl:if test="$html.stylesheet != ''">
-            <xsl:call-template name="output.html.stylesheets">
-                <xsl:with-param name="stylesheets" select="normalize-space($html.stylesheet)"/>
-            </xsl:call-template>
-        </xsl:if>
-
-        <xsl:if test="$link.mailto.url != ''">
-            <link rev="made" href="{$link.mailto.url}"/>
-        </xsl:if>
-
-        <meta name="keywords" content="Cayenne ${cayenne.version.major} documentation"/>
-        <meta name="description" content="User documentation for Apache Cayenne version ${cayenne.version.major}"/>
-
-        <xsl:if test="$generate.meta.abstract != 0">
-            <xsl:variable name="info" select="(d:articleinfo
-                                      |d:bookinfo
-                                      |d:prefaceinfo
-                                      |d:chapterinfo
-                                      |d:appendixinfo
-                                      |d:sectioninfo
-                                      |d:sect1info
-                                      |d:sect2info
-                                      |d:sect3info
-                                      |d:sect4info
-                                      |d:sect5info
-                                      |d:referenceinfo
-                                      |d:refentryinfo
-                                      |d:partinfo
-                                      |d:info
-                                      |d:docinfo)[1]"/>
-            <xsl:if test="$info and $info/d:abstract">
-                <meta name="description">
-                    <xsl:attribute name="content">
-                        <xsl:for-each select="$info/d:abstract[1]/*">
-                            <xsl:value-of select="normalize-space(.)"/>
-                            <xsl:if test="position() &lt; last()">
-                                <xsl:text> </xsl:text>
-                            </xsl:if>
-                        </xsl:for-each>
-                    </xsl:attribute>
-                </meta>
-            </xsl:if>
-        </xsl:if>
-
-        <xsl:if test="($draft.mode = 'yes' or
-                ($draft.mode = 'maybe' and
-                ancestor-or-self::*[@status][1]/@status = 'draft'))
-                and $draft.watermark.image != ''">
-            <style type="text/css"><xsl:text>
-body { background-image: url('</xsl:text>
-                <xsl:value-of select="$draft.watermark.image"/><xsl:text>');
-       background-repeat: no-repeat;
-       background-position: top left;
-       /* The following properties make the watermark "fixed" on the page. */
-       /* I think that's just a bit too distracting for the reader... */
-       /* background-attachment: fixed; */
-       /* background-position: center center; */
-     }</xsl:text>
-            </style>
-        </xsl:if>
-        <xsl:apply-templates select="." mode="head.keywords.content"/>
-    </xsl:template>
-
-    <!-- GoogleAnalytics script for web publishing -->
-    <xsl:template name="user.head.content">
-        <script 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>
-    </xsl:template>
-
-    <!--
-        TOP NAVIGATION
-    -->
-    <xsl:template name="header.navigation">
-        <xsl:param name="prev" select="/d:foo"/>
-        <xsl:param name="next" select="/d:foo"/>
-        <xsl:param name="nav.context"/>
-
-        <xsl:variable name="home" select="/*[1]"/>
-        <xsl:variable name="up" select="parent::*"/>
-
-        <xsl:variable name="row1" select="$navig.showtitles != 0"/>
-        <xsl:variable name="row2" select="count($prev) &gt; 0
-                                    or (count($up) &gt; 0
-                                        and generate-id($up) != generate-id($home)
-                                        and $navig.showtitles != 0)
-                                    or count($next) &gt; 0"/>
-
-        <xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'">
-            <div class="navheader">
-                <xsl:if test="$row1 or $row2">
-                    <table width="100%" summary="Navigation header">
-                      
-                        <!-- Add Apache Cayenne version info -->
-                        <xsl:if test="$row1">
-                            <tr>
-                                <th class="versioninfo">v.${cayenne.version.major} (${pom.version})</th>
-                                <th align="center">
-                                    <xsl:apply-templates select="." mode="object.title.markup"/>
-                                </th>
-                                <th></th>
-                            </tr>
-                        </xsl:if>
-
-                        <xsl:if test="$row2">
-
-                            <tr>
-                                <td width="20%" align="{$direction.align.start}">
-                                    <xsl:if test="count($prev)>0">
-                                        <a accesskey="p">
-                                            <xsl:attribute name="href">
-                                                <xsl:call-template name="href.target">
-                                                    <xsl:with-param name="object" select="$prev"/>
-                                                </xsl:call-template>
-                                            </xsl:attribute>
-                                            <xsl:call-template name="navig.content">
-                                                <xsl:with-param name="direction" select="'prev'"/>
-                                            </xsl:call-template>
-                                        </a>
-                                    </xsl:if>
-                                    <xsl:text>&#160;</xsl:text>
-                                </td>
-
-                                <!-- Make parent caption as link -->
-                                <th width="60%" align="center">
-                                    <xsl:choose>
-                                        <xsl:when test="count($up) > 0
-                                  and generate-id($up) != generate-id($home)
-                                  and $navig.showtitles != 0">
-                                            <a accesskey="u">
-                                                <xsl:attribute name="href">
-                                                    <xsl:call-template name="href.target">
-                                                        <xsl:with-param name="object" select="$up"/>
-                                                    </xsl:call-template>
-                                                </xsl:attribute>
-                                                <xsl:apply-templates select="$up" mode="object.title.markup"/>
-                                            </a>
-                                        </xsl:when>
-                                        <xsl:otherwise>&#160;</xsl:otherwise>
-                                    </xsl:choose>
-                                </th>
-
-
-                                <td width="20%" align="{$direction.align.end}">
-                                    <xsl:text>&#160;</xsl:text>
-                                    <xsl:if test="count($next)>0">
-                                        <a accesskey="n">
-                                            <xsl:attribute name="href">
-                                                <xsl:call-template name="href.target">
-                                                    <xsl:with-param name="object" select="$next"/>
-                                                </xsl:call-template>
-                                            </xsl:attribute>
-                                            <xsl:call-template name="navig.content">
-                                                <xsl:with-param name="direction" select="'next'"/>
-                                            </xsl:call-template>
-                                        </a>
-                                    </xsl:if>
-                                </td>
-                            </tr>
-
-                        </xsl:if>
-
-                    </table>
-                </xsl:if>
-                <xsl:if test="$header.rule != 0">
-                    <hr/>
-                </xsl:if>
-            </div>
-        </xsl:if>
-    </xsl:template>
-
-</xsl:stylesheet>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/pdf.xsl
----------------------------------------------------------------------
diff --git a/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/pdf.xsl b/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/pdf.xsl
deleted file mode 100644
index f716411..0000000
--- a/docs/docbook/docbook-stylesheets/src/main/resources/stylesheets/pdf.xsl
+++ /dev/null
@@ -1,505 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<!--
-    This is the XSL FO (PDF) stylesheet for the Cayenne documentation.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                version="1.0">
-
-    <xsl:import href="urn:docbkx:stylesheet"/>
-    <xsl:include href="common-customizations.xsl"/>
-
-    <xsl:template name="border">
-        <xsl:param name="side" select="'start'"/>
-
-        <xsl:attribute name="border-{$side}-width">
-            <xsl:value-of select="$table.cell.border.thickness"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-{$side}-style">
-            <xsl:value-of select="$table.cell.border.style"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-{$side}-color">
-            <xsl:value-of select="$table.cell.border.color"/>
-        </xsl:attribute>
-        <xsl:attribute name="my-attr">
-            <xsl:value-of select="'1'"/>
-        </xsl:attribute>
-    </xsl:template>
-
-    <!-- don't indent the body text -->
-    <xsl:param name="body.start.indent">0pt</xsl:param>
-
-    <!-- print headers and footers mirrored so double sided printing works -->
-    <!--<xsl:param name="fop1.extensions" select="1"/>-->
-    <xsl:param name="double.sided" select="0"/>
-
-    <xsl:param name="admon.graphics" select="0"/>
-    <xsl:param name="admon.graphics.extension">.png</xsl:param>
-    <xsl:param name="admon.graphics.path">stylesheets/docbook-xsl-ns/images/</xsl:param>
-    <xsl:param name="admon.textlabel" select="1"/>
-
-    <xsl:param name="callout.graphics" select="1"/>
-    <xsl:param name="callout.graphics.extension">.png</xsl:param>
-    <xsl:param name="callout.graphics.path">stylesheets/docbook-xsl-ns/images/callouts/</xsl:param>
-
-    <xsl:param name="footer.rule">0</xsl:param>
-
-    <!-- Separation between glossary terms and descriptions when glossaries are presented using lists. -->
-    <xsl:param name="glossterm.separation">2em</xsl:param>
-
-    <!-- This parameter specifies the width reserved for glossary terms when a list presentation is used.  -->
-    <xsl:param name="glossterm.width">10em</xsl:param>
-
-    <!--  Specifies the longest term in variablelists. In variablelists, the listitem is indented to leave room for the term elements. The indent may be computed if it is not specified with a termlength attribute on the variablelist element. The computation counts characters in the term elements in the list to find the longest term. However, some terms are very long and would produce extreme indents. This parameter lets you set a maximum character count. Any terms longer than the maximum would line wrap. The default value is 24. The character counts are converted to physical widths by multiplying by 0.50em. There is some variability in how many characters fit in the space since some characters are wider than others. -->
-    <xsl:param name="variablelist.max.termlength">18</xsl:param>
-
-    <!-- Custom font settings - preferred truetype font -->
-    <xsl:param name="title.font.family">Lucinda Grande,sans-serif</xsl:param>
-    <xsl:param name="body.font.family">Times,serif</xsl:param>
-    <xsl:param name="sans.font.family">Lucinda Grande,sans-serif</xsl:param>
-    <xsl:param name="dingbat.font.family">Lucinda Grande,serif</xsl:param>
-    <xsl:param name="monospace.font.family">monospace</xsl:param>
-
-    <!-- Specify the default text alignment. The default text alignment is used for most body text. -->
-    <xsl:param name="alignment">justify</xsl:param>
-
-    <!--  Specifies the default point size for body text. The body font size is specified in two parameters (body.font.master and body.font.size) so that math can be performed on the font size by XSLT. -->
-    <xsl:param name="body.font.master">11</xsl:param>
-
-    <xsl:param name="hyphenate">true</xsl:param>
-
-    <!-- "normal" is 1.6. This value is multiplied by the font size -->
-    <xsl:param name="line-height">1.5</xsl:param>
-
-    <!--  Specify the spacing required between normal paragraphs. -->
-    <xsl:attribute-set name="normal.para.spacing">
-        <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
-        <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
-        <xsl:attribute name="space-before.maximum">1.0em</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!--  Tables, examples, figures, and equations don't need to be forced onto onto one page without page breaks. -->
-    <xsl:attribute-set name="formal.object.properties">
-        <xsl:attribute name="keep-together.within-column">auto</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!-- The body bottom margin is the distance from the last line of text in the page body to the bottom of the region-after. -->
-    <xsl:param name="body.margin.bottom">20mm</xsl:param>
-
-    <!-- The body top margin is the distance from the top of the region-before to the first line of text in the page body. -->
-    <xsl:param name="body.margin.top">20mm</xsl:param>
-
-    <!-- The top page margin is the distance from the physical top of the page to the top of the region-before. -->
-    <xsl:param name="page.margin.top">10mm</xsl:param>
-
-    <!-- The bottom page margin is the distance from the bottom of the region-after to the physical bottom of the page. -->
-    <xsl:param name="page.margin.bottom">10mm</xsl:param>
-
-    <!-- The inner page margin. The inner page margin is the distance from binding edge of the page to the first column of text. In the left-to-right, top-to-bottom writing direction, this is the left margin of recto pages. The inner and outer margins are usually the same unless the output is double-sided. -->
-    <xsl:param name="page.margin.inner">18mm</xsl:param>
-
-    <!-- The outer page margin. The outer page margin is the distance from non-binding edge of the page to the last column of text. In the left-to-right, top-to-bottom writing direction, this is the right margin of recto pages. The inner and outer margins are usually the same unless the output is double-sided. -->
-    <xsl:param name="page.margin.outer">18mm</xsl:param>
-
-    <!-- Make hyperlinks blue and don't display the underlying URL -->
-    <xsl:param name="ulink.show" select="0"/>
-
-    <xsl:attribute-set name="xref.properties">
-        <xsl:attribute name="color">blue</xsl:attribute>
-    </xsl:attribute-set>
-
-    <xsl:param name="img.src.path">../</xsl:param>
-
-    <!-- Prevent blank pages in output -->
-    <xsl:template name="book.titlepage.before.verso">
-    </xsl:template>
-    <xsl:template name="book.titlepage.verso">
-    </xsl:template>
-    <xsl:template name="book.titlepage.separator">
-    </xsl:template>
-
-    <!--###################################################
-                     Header
-   ################################################### -->
-
-    <!-- More space in the center header for long text -->
-    <xsl:attribute-set name="header.content.properties">
-        <xsl:attribute name="font-family">
-            <xsl:value-of select="$body.font.family"/>
-        </xsl:attribute>
-        <xsl:attribute name="margin-left">-5em</xsl:attribute>
-        <xsl:attribute name="margin-right">-5em</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!--###################################################
-                     Custom Footer
-   ################################################### -->
-    <xsl:template name="footer.content">
-        <xsl:param name="pageclass" select="''"/>
-        <xsl:param name="sequence" select="''"/>
-        <xsl:param name="position" select="''"/>
-        <xsl:param name="gentext-key" select="''"/>
-        <xsl:variable name="Version">
-            <fo:inline min-width="150mm">v.${cayenne.version.major}</fo:inline>
-        </xsl:variable>
-        <xsl:choose>
-            <xsl:when test="$sequence='blank'">
-                <xsl:if test="$position = 'left'">
-                    <xsl:value-of select="$Version"/>
-                </xsl:if>
-            </xsl:when>
-            <!-- for single sided printing, print all page numbers on the right (of the page) -->
-            <xsl:when test="$double.sided = 0">
-                <xsl:choose>
-                    <xsl:when test="$position='left'">
-                        <xsl:value-of select="$Version"/>
-                    </xsl:when>
-                    <xsl:when test="$position='right'">
-                        <fo:page-number/>
-                    </xsl:when>
-                </xsl:choose>
-            </xsl:when>
-        </xsl:choose>
-    </xsl:template>
-
-    <!--###################################################
-                     Extensions
-        ################################################### -->
-
-    <!-- These extensions are required for table printing and other stuff -->
-    <xsl:param name="use.extensions">1</xsl:param>
-    <xsl:param name="tablecolumns.extension">1</xsl:param>
-    <xsl:param name="callout.extensions">1</xsl:param>
-    <!-- FOP provide only PDF Bookmarks at the moment -->
-    <xsl:param name="fop1.extensions">1</xsl:param>
-
-    <!-- ###################################################
-                     Table Of Contents
-         ################################################### -->
-
-    <!-- Generate the TOCs for named components only -->
-    <xsl:param name="generate.toc">
-        book toc
-    </xsl:param>
-
-    <!-- Show only Sections up to level 3 in the TOCs -->
-    <!--<xsl:param name="toc.section.depth">2</xsl:param>-->
-
-    <!-- Dot and Whitespace as separator in TOC between Label and Title-->
-    <xsl:param name="autotoc.label.separator" select="'.  '"/>
-
-
-    <!-- ###################################################
-                  Paper & Page Size
-         ################################################### -->
-
-    <!-- Paper type, no headers on blank pages, no double sided printing -->
-    <xsl:param name="paper.type" select="'A4'"/>
-    <!--<xsl:param name="double.sided">0</xsl:param>-->
-    <xsl:param name="headers.on.blank.pages">0</xsl:param>
-    <xsl:param name="footers.on.blank.pages">0</xsl:param>
-
-    <!-- Space between paper border and content (chaotic stuff, don't touch) -->
-    <!--<xsl:param name="page.margin.top">5mm</xsl:param>-->
-    <xsl:param name="region.before.extent">10mm</xsl:param>
-    <!--<xsl:param name="body.margin.top">10mm</xsl:param>-->
-
-    <!--<xsl:param name="body.margin.bottom">15mm</xsl:param>-->
-    <xsl:param name="region.after.extent">10mm</xsl:param>
-    <!--<xsl:param name="page.margin.bottom">0mm</xsl:param>-->
-
-    <!--<xsl:param name="page.margin.outer">18mm</xsl:param>-->
-    <!--<xsl:param name="page.margin.inner">18mm</xsl:param>-->
-
-    <!-- No intendation of Titles -->
-    <xsl:param name="title.margin.left">0pc</xsl:param>
-
-    <!-- ###################################################
-                  Fonts & Styles
-         ################################################### -->
-
-    <!-- Left aligned text and no hyphenation -->
-    <!--<xsl:param name="alignment">justify</xsl:param>-->
-    <!--<xsl:param name="hyphenate">false</xsl:param>-->
-
-    <!-- Default Font size -->
-    <!--<xsl:param name="body.font.master">11</xsl:param>-->
-    <xsl:param name="body.font.small">8</xsl:param>
-
-    <!-- ###################################################
-                  Tables
-         ################################################### -->
-
-    <!-- The table width should be adapted to the paper size -->
-    <xsl:param name="default.table.width">17.4cm</xsl:param>
-
-    <!-- Some padding inside tables -->
-    <xsl:attribute-set name="table.cell.padding">
-        <xsl:attribute name="padding-start">4pt</xsl:attribute>
-        <xsl:attribute name="padding-end">4pt</xsl:attribute>
-        <xsl:attribute name="padding-top">4pt</xsl:attribute>
-        <xsl:attribute name="padding-bottom">4pt</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!-- Only hairlines as frame and cell borders in tables -->
-    <xsl:param name="default.table.frame">all</xsl:param>
-    <xsl:param name="default.table.rules">all</xsl:param>
-
-    <xsl:param name="table.frame.border.thickness">0.5pt</xsl:param>
-    <xsl:param name="table.frame.border.style">solid</xsl:param>
-    <xsl:param name="table.frame.border.color">black</xsl:param>
-    <xsl:param name="table.cell.border.thickness">0.5pt</xsl:param>
-    <xsl:param name="table.cell.border.color">black</xsl:param>
-    <xsl:param name="table.cell.border.style">solid</xsl:param>
-    <xsl:param name="border-start-style">solid</xsl:param>
-    <xsl:param name="border-end-style">solid</xsl:param>
-    <xsl:param name="border-top-style">solid</xsl:param>
-    <xsl:param name="border-bottom-style">solid</xsl:param>
-
-    <!--###################################################
-                        Labels
-   ################################################### -->
-
-    <!-- Label Chapters and Sections (numbering) -->
-    <xsl:param name="chapter.autolabel">1</xsl:param>
-    <xsl:param name="section.autolabel" select="1"/>
-    <xsl:param name="section.label.includes.component.label" select="1"/>
-
-    <!--###################################################
-                        Titles
-   ################################################### -->
-
-    <!-- Chapter title size -->
-    <xsl:attribute-set name="chapter.titlepage.recto.style">
-        <xsl:attribute name="text-align">left</xsl:attribute>
-        <xsl:attribute name="font-weight">bold</xsl:attribute>
-        <xsl:attribute name="font-size">
-            <xsl:value-of select="$body.font.master * 1.8"/>
-            <xsl:text>pt</xsl:text>
-        </xsl:attribute>
-    </xsl:attribute-set>
-
-    <!-- Why is the font-size for chapters hardcoded in the XSL FO templates?
-        Let's remove it, so this sucker can use our attribute-set only... -->
-    <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
-        <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
-                  xsl:use-attribute-sets="chapter.titlepage.recto.style">
-            <xsl:call-template name="component.title">
-                <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
-            </xsl:call-template>
-        </fo:block>
-    </xsl:template>
-
-    <!-- Sections 1, 2 and 3 titles have a small bump factor and padding -->
-    <xsl:attribute-set name="section.title.level1.properties">
-        <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
-        <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-        <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
-        <xsl:attribute name="font-size">
-            <xsl:value-of select="$body.font.master * 1.5"/>
-            <xsl:text>pt</xsl:text>
-        </xsl:attribute>
-        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
-    </xsl:attribute-set>
-    <xsl:attribute-set name="section.title.level2.properties">
-        <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
-        <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
-        <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute>
-        <xsl:attribute name="font-size">
-            <xsl:value-of select="$body.font.master * 1.25"/>
-            <xsl:text>pt</xsl:text>
-        </xsl:attribute>
-        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
-    </xsl:attribute-set>
-    <xsl:attribute-set name="section.title.level3.properties">
-        <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute>
-        <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
-        <xsl:attribute name="space-before.maximum">0.4em</xsl:attribute>
-        <xsl:attribute name="font-size">
-            <xsl:value-of select="$body.font.master * 1.0"/>
-            <xsl:text>pt</xsl:text>
-        </xsl:attribute>
-        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!-- Titles of formal objects (tables, examples, ...) -->
-    <xsl:attribute-set name="formal.title.properties" use-attribute-sets="normal.para.spacing">
-        <xsl:attribute name="font-weight">bold</xsl:attribute>
-        <xsl:attribute name="font-size">
-            <xsl:value-of select="$body.font.master"/>
-            <xsl:text>pt</xsl:text>
-        </xsl:attribute>
-        <xsl:attribute name="hyphenate">false</xsl:attribute>
-        <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
-        <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
-        <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!--###################################################
-                     Programlistings
-   ################################################### -->
-
-    <!-- Verbatim text formatting (<code>) -->
-    <xsl:attribute-set name="monospace.properties">
-        <xsl:attribute name="font-size">
-            <xsl:value-of select="$body.font.small"/>
-            <xsl:text>pt</xsl:text>
-        </xsl:attribute>
-    </xsl:attribute-set>
-
-    <!-- Verbatim text formatting (programlistings) -->
-    <xsl:attribute-set name="monospace.verbatim.properties">
-        <xsl:attribute name="font-size">
-            <xsl:value-of select="$body.font.small"/>
-            <xsl:text>pt</xsl:text>
-        </xsl:attribute>
-    </xsl:attribute-set>
-
-    <xsl:attribute-set name="verbatim.properties">
-        <xsl:attribute name="space-before.minimum">0.9em</xsl:attribute>
-        <xsl:attribute name="space-before.optimum">0.9em</xsl:attribute>
-        <xsl:attribute name="space-before.maximum">0.9em</xsl:attribute>
-        <xsl:attribute name="border-color">#444444</xsl:attribute>
-        <xsl:attribute name="border-style">solid</xsl:attribute>
-        <xsl:attribute name="border-width">0.1pt</xsl:attribute>
-        <xsl:attribute name="padding-top">0.5em</xsl:attribute>
-        <xsl:attribute name="padding-left">0.5em</xsl:attribute>
-        <xsl:attribute name="padding-right">0.5em</xsl:attribute>
-        <xsl:attribute name="padding-bottom">0.5em</xsl:attribute>
-        <xsl:attribute name="margin-left">0.5em</xsl:attribute>
-        <xsl:attribute name="margin-right">0.5em</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!-- Shade (background) programlistings -->
-    <xsl:param name="shade.verbatim">1</xsl:param>
-    <xsl:attribute-set name="shade.verbatim.style">
-        <xsl:attribute name="background-color">#F0F0F0</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!--###################################################
-                        Callouts
-   ################################################### -->
-
-    <!-- Use images for callouts instead of (1) (2) (3) -->
-    <!--<xsl:param name="callout.graphics">0</xsl:param>-->
-    <!--<xsl:param name="callout.unicode">1</xsl:param>-->
-
-    <!-- Place callout marks at this column in annotated areas -->
-    <xsl:param name="callout.defaultcolumn">90</xsl:param>
-
-    <!--###################################################
-                      Admonitions
-   ################################################### -->
-
-    <!-- Use nice graphics for admonitions -->
-    <!--<xsl:param name="admon.graphics">'1'</xsl:param>-->
-    <!--  <xsl:param name="admon.graphics.path">&admon_gfx_path;</xsl:param> -->
-
-    <!--###################################################
-                         Misc
-   ################################################### -->
-
-    <!-- Placement of titles -->
-    <xsl:param name="formal.title.placement">
-        figure after
-        example before
-        equation before
-        table before
-        procedure before
-    </xsl:param>
-
-    <!-- Format Variable Lists as Blocks (prevents horizontal overflow) -->
-    <xsl:param name="variablelist.as.blocks">1</xsl:param>
-
-    <!-- The horrible list spacing problems -->
-    <xsl:attribute-set name="list.block.spacing">
-        <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
-        <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
-        <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
-        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
-        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
-    </xsl:attribute-set>
-
-    <!--###################################################
-             colored and hyphenated links
-   ################################################### -->
-    <xsl:template match="ulink">
-        <fo:basic-link external-destination="{@url}"
-                       xsl:use-attribute-sets="xref.properties"
-                       text-decoration="underline"
-                       color="blue">
-            <xsl:choose>
-                <xsl:when test="count(child::node())=0">
-                    <xsl:value-of select="@url"/>
-                </xsl:when>
-                <xsl:otherwise>
-                    <xsl:apply-templates/>
-                </xsl:otherwise>
-            </xsl:choose>
-        </fo:basic-link>
-    </xsl:template>
-
-    <xsl:template name="table.frame">
-        <xsl:variable name="frame" select="'all'" />
-
-        <xsl:attribute name="border-start-style">
-            <xsl:value-of select="$table.frame.border.style"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-end-style">
-            <xsl:value-of select="$table.frame.border.style"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-top-style">
-            <xsl:value-of select="$table.frame.border.style"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-bottom-style">
-            <xsl:value-of select="$table.frame.border.style"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-start-width">
-            <xsl:value-of select="$table.frame.border.thickness"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-end-width">
-            <xsl:value-of select="$table.frame.border.thickness"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-top-width">
-            <xsl:value-of select="$table.frame.border.thickness"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-bottom-width">
-            <xsl:value-of select="$table.frame.border.thickness"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-start-color">
-            <xsl:value-of select="$table.frame.border.color"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-end-color">
-            <xsl:value-of select="$table.frame.border.color"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-top-color">
-            <xsl:value-of select="$table.frame.border.color"/>
-        </xsl:attribute>
-        <xsl:attribute name="border-bottom-color">
-            <xsl:value-of select="$table.frame.border.color"/>
-        </xsl:attribute>
-    </xsl:template>
-
-</xsl:stylesheet>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/pom.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/pom.xml b/docs/docbook/getting-started-rop/pom.xml
deleted file mode 100644
index 7331170..0000000
--- a/docs/docbook/getting-started-rop/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Licensed to the Apache Software Foundation (ASF) under one
-	or more contributor license agreements.  See the NOTICE file
-	distributed with this work for additional information
-	regarding copyright ownership.  The ASF licenses this file
-	to you under the Apache License, Version 2.0 (the
-	"License"); you may not use this file except in compliance
-	with the License.  You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing,
-	software distributed under the License is distributed on an
-	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	KIND, either express or implied.  See the License for the
-	specific language governing permissions and limitations
-	under the License.   
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<parent>
-		<groupId>org.apache.cayenne.docs</groupId>
-		<artifactId>cayenne-docbook</artifactId>
-		<version>3.1.3-SNAPSHOT</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.apache.cayenne.docs</groupId>
-	<artifactId>getting-started-rop</artifactId>
-	<packaging>jar</packaging>
-	<name>Docbook: Getting Started with Cayenne ROP</name>
-
-	<build>
-		<resources>
-			<resource>
-				<directory>target/site</directory>
-			</resource>
-		</resources>
-	</build>
-</project>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/authentification.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/authentification.xml b/docs/docbook/getting-started-rop/src/docbkx/authentification.xml
deleted file mode 100644
index 04e251f..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/authentification.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Adding BASIC Authentication</title>
-    <para>You probably don't want everybody in the world to connect to your service and access (and
-        update!) arbitrary data in the database. The first step in securing Cayenne service is
-        implementing client authentication. The easiest way to do it is to delegate the
-        authentication task to the web container that is running the service. HessianConnection used
-        in the previous chapter supports BASIC authentication on the client side, so we'll
-        demonstrate how to set it up here.</para>
-    <section xml:id="securing-rop-server-app">
-        <title>Securing ROP Server Application</title>
-        <para>Open web.xml file in the server project and setup security constraints with BASIC
-            authentication for the ROP service:</para>
-        <programlisting>&lt;security-constraint&gt;
-    &lt;web-resource-collection&gt;
-        &lt;web-resource-name&gt;CayenneService&lt;/web-resource-name&gt;
-        &lt;url-pattern&gt;/cayenne-service&lt;/url-pattern&gt;
-    &lt;/web-resource-collection&gt;
-    &lt;auth-constraint&gt;
-        &lt;role-name&gt;cayenne-service-user&lt;/role-name&gt;
-    &lt;/auth-constraint&gt;
-&lt;/security-constraint&gt;
-    
-&lt;login-config&gt;
-    &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
-    &lt;realm-name&gt;Cayenne Realm&lt;/realm-name&gt;
-&lt;/login-config&gt;
-
-&lt;security-role&gt;
-    &lt;role-name&gt;cayenne-service-user&lt;/role-name&gt;
-&lt;/security-role&gt;</programlisting>
-    </section>
-    <section xml:id="configuring-jetty">
-        <title>Configuring Jetty for BASIC Authentication</title>
-        
-        <para>
-            <note>
-                <para>These instructions are specific to Jetty 6. Other
-                    containers (and versions of Jetty) will have different mechansims to achieve
-                    the same thing.</para>
-            </note>
-        </para>
-        <para>Open pom.xml in the server project and configure a "userRealm" for the Jetty
-            plugin:</para>
-        <programlisting>&lt;plugin&gt;
-    &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
-        &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
-        &lt;version&gt;6.1.22&lt;/version&gt;
-        &lt;!-- adding configuration below: --&gt;
-        &lt;configuration&gt;
-            &lt;userRealms&gt;
-                &lt;userRealm implementation="org.mortbay.jetty.security.HashUserRealm"&gt;
-                    &lt;!-- this name must match the realm-name in web.xml --&gt;
-                    &lt;name&gt;Cayenne Realm&lt;/name&gt;
-                    &lt;config&gt;realm.properties&lt;/config&gt;
-                &lt;/userRealm&gt;
-            &lt;/userRealms&gt;
-        &lt;/configuration&gt;
-    &lt;/plugin&gt;
-&lt;/plugins&gt;</programlisting>
-        <para>Now create a new file called {["realm.properties"}} <emphasis role="italic">at the
-                root of the server project</emphasis> and put user login/password in there:</para>
-        <programlisting>cayenne-user: secret,cayenne-service-user</programlisting>
-        <para>.</para>
-        <para>Now let's stop the server and start it again. Everything should start as before, but
-            if you go to <emphasis role="italic"
-                >http://localhost:8080/tutorial/cayenne-service</emphasis>, your browser should pop
-            up authentication dialog. Enter "<emphasis role="italic">cayenne-user/secret</emphasis>"
-            for user name / password, and you should see "<emphasis role="italic">Hessian Requires
-                POST</emphasis>" message. So the server is now secured.</para>
-    </section>
-    <section xml:id="running-client">
-        <title>Running Client with Basic Authentication</title>
-        <para>If you run the client without any changes, you'll get the following error:</para>
-        <programlisting language="java">org.apache.cayenne.remote.hessian.HessianConnection connect
-INFO: Connecting to [http://localhost:8080/tutorial/cayenne-service] - dedicated session.
-org.apache.cayenne.remote.hessian.HessianConnection connect
-INFO: Error establishing remote session. URL - http://localhost:8080/tutorial/cayenne-service; 
-      CAUSE - cannot retry due to server authentication, in streaming mode
-java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
-    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1257)
-    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
-    at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:168)
-    at $Proxy0.establishSession(Unknown Source)
-    at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:210)
-    at org.apache.cayenne.remote.hessian.HessianConnection.getServerEventBridge(HessianConnection.java:114)
-    at org.apache.cayenne.remote.ClientChannel.setupRemoteChannelListener(ClientChannel.java:337)
-    at org.apache.cayenne.remote.ClientChannel.&lt;init>(ClientChannel.java:108)
-    at org.example.cayenne.Main.main(Main.java:25)
-Exception in thread "main" org.apache.cayenne.CayenneRuntimeException: [v.3.1M3 Sep 19 2011 07:12:41] 
-Error establishing remote session. URL - http://localhost:8080/tutorial/cayenne-service; 
-CAUSE - cannot retry due to server authentication, in streaming mode
-    at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:229)
-    at org.apache.cayenne.remote.hessian.HessianConnection.getServerEventBridge(HessianConnection.java:114)
-    at org.apache.cayenne.remote.ClientChannel.setupRemoteChannelListener(ClientChannel.java:337)
-    at org.apache.cayenne.remote.ClientChannel.&lt;init>(ClientChannel.java:108)
-    at org.example.cayenne.Main.main(Main.java:25)
-Caused by: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
-    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1257)
-    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
-    at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:168)
-    at $Proxy0.establishSession(Unknown Source)
-    at org.apache.cayenne.remote.hessian.HessianConnection.connect(HessianConnection.java:210)
-    ... 4 more</programlisting>
-        <para>Which is exactly what you'd expect, as the client is not authenticating itself. So
-            change the line in Main.java where we obtained an ROP connection to this:</para>
-        <programlisting language="java">ClientConnection connection = new HessianConnection(
-        "http://localhost:8080/tutorial/cayenne-service",
-        "cayenne-user", "secret", null);</programlisting>
-        <para>Try running again, and everything should work as before. Obviously in production
-            environment, in addition to authentication you'll need to use HTTPS to access the server
-            to prevent third-party evesdropping on your password and data.</para>
-        <para>Congratulations, you are done with the ROP tutorial!</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/client-code.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/client-code.xml b/docs/docbook/getting-started-rop/src/docbkx/client-code.xml
deleted file mode 100644
index ee8a3b6..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/client-code.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Porting Existing Code to Connect to a Web Service Instead of a Database</title>
-    <section xml:id="starting-command-line-cliet">
-        <title>Starting Command Line Client</title>
-        <para>One of the benefits of ROP is that the client code is no different from the server
-            code - it uses the same ObjectContext interface for access, same query and commit API.
-            So the code below will be similar to the code presented in the first Cayenne
-                Getting Started Guide, although with a few ROP-specific parts required to bootstrap the
-            ObjectContext.</para>
-        <para>Let's start by creating an empty Main class with the standard main() method in the
-            client project:</para>
-        <programlisting language="java">package org.example.cayenne.persistent.client;
-
-public class Main {
-
-    public static void main(String[] args) {
-
-    }
-}</programlisting>
-        <para>Now the part that is actually different from regular Cayenne - establishing the server
-            connection and obtaining the ObjectContext:</para>
-        <programlisting language="java">ClientConnection connection = new HessianConnection("http://localhost:8080/tutorial/cayenne-service");
-DataChannel channel = new ClientChannel(connection, false, new DefaultEventManager(), false);
-ObjectContext context = new CayenneContext(channel);</programlisting>
-        <para>Note that the "channel" can be used to create as many peer ObjectContexts as needed
-            over the same connection, while ObjectContext is a kind of isolated "persistence
-            session", similar to the server-side context. A few more notes. Since we are using
-            HTTP(S) to communicate with ROP server, there's no need to explicitly close the
-            connection (or channel, or context).</para>
-        <para>So now let's do the same persistent operaions that we did in the first tutorial "Main"
-            class. Let's start by creating and saving some objects:</para>
-        <programlisting language="java">// creating new Artist
-Artist picasso = context.newObject(Artist.class);
-picasso.setName("Pablo Picasso");
-
-// Creating other objects
-Gallery metropolitan = context.newObject(Gallery.class);
-metropolitan.setName("Metropolitan Museum of Art");
-
-Painting girl = context.newObject(Painting.class);
-girl.setName("Girl Reading at a Table");
-
-Painting stein = context.newObject(Painting.class);
-stein.setName("Gertrude Stein");
-
-// connecting objects together via relationships
-picasso.addToPaintings(girl);
-picasso.addToPaintings(stein);
-
-girl.setGallery(metropolitan);
-stein.setGallery(metropolitan);
-
-// saving all the changes above
-context.commitChanges();</programlisting>
-        <para>Now let's select them back:</para>
-        <programlisting language="java">// SelectQuery examples
-SelectQuery select1 = new SelectQuery(Painting.class);
-List&lt;Painting&gt; paintings1 = context.performQuery(select1);
-
-Expression qualifier2 = ExpressionFactory.likeIgnoreCaseExp(
-        Painting.NAME_PROPERTY, "gi%");
-SelectQuery select2 = new SelectQuery(Painting.class, qualifier2);
-List&lt;Painting&gt; paintings2 = context.performQuery(select2);</programlisting>
-        <para>Now, delete:</para>
-        <programlisting language="java">Expression qualifier = ExpressionFactory.matchExp(Artist.NAME_PROPERTY,
-                "Pablo Picasso");
-SelectQuery selectToDelete = new SelectQuery(Artist.class, qualifier);
-Artist picasso = (Artist) DataObjectUtils.objectForQuery(context,
-        selectToDelete);
-
-if (picasso != null) {
-    context.deleteObject(picasso);
-    context.commitChanges();
-}</programlisting>
-        <para>This code is exactly the same as in the first tutorial. So now let's try running the
-            client and see what happens. In Eclipse open main class and select "Run &gt; Run As &gt;
-            Java Application" from the menu (assuming the ROP server started in the previous step is
-            still running). You will some output in both server and client process consoles.
-            Client:</para>
-        <programlisting>INFO: Connecting to [http://localhost:8080/tutorial/cayenne-service] - dedicated session.
-INFO: === Connected, session: org.apache.cayenne.remote.RemoteSession@26544ec1[sessionId=17uub1h34r9x1] - took 111 ms.
-INFO: --- Message 0: Bootstrap
-INFO: === Message 0: Bootstrap done - took 58 ms.
-INFO: --- Message 1: flush-cascade-sync
-INFO: === Message 1: flush-cascade-sync done - took 1119 ms.
-INFO: --- Message 2: Query
-INFO: === Message 2: Query done - took 48 ms.
-INFO: --- Message 3: Query
-INFO: === Message 3: Query done - took 63 ms.
-INFO: --- Message 4: Query
-INFO: === Message 4: Query done - took 19 ms.
-INFO: --- Message 5: Query
-INFO: === Message 5: Query done - took 7 ms.
-INFO: --- Message 6: Query
-INFO: === Message 6: Query done - took 5 ms.
-INFO: --- Message 7: Query
-INFO: === Message 7: Query done - took 2 ms.
-INFO: --- Message 8: Query
-INFO: === Message 8: Query done - took 4 ms.
-INFO: --- Message 9: flush-cascade-sync
-INFO: === Message 9: flush-cascade-sync done - took 34 ms.</programlisting>
-        <para>As you see client prints no SQL statmenets, just a bunch of query and flush messages
-            sent to the server. The server side is more verbose, showing the actual client queries
-            executed against the database:</para>
-        <programlisting>...
-INFO: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = ? FOR UPDATE [bind: 1:'ARTIST']
-INFO: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = ? FOR UPDATE [bind: 1:'GALLERY']
-INFO: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = ? FOR UPDATE [bind: 1:'PAINTING']
-INFO: INSERT INTO ARTIST (DATE_OF_BIRTH, ID, NAME) VALUES (?, ?, ?)
-INFO: [batch bind: 1->DATE_OF_BIRTH:NULL, 2->ID:200, 3->NAME:'Pablo Picasso']
-INFO: === updated 1 row.
-INFO: INSERT INTO GALLERY (ID, NAME) VALUES (?, ?)
-INFO: [batch bind: 1->ID:200, 2->NAME:'Metropolitan Museum of Art']
-INFO: === updated 1 row.
-INFO: INSERT INTO PAINTING (ARTIST_ID, GALLERY_ID, ID, NAME) VALUES (?, ?, ?, ?)
-INFO: [batch bind: 1->ARTIST_ID:200, 2->GALLERY_ID:200, 3->ID:200, 4->NAME:'Girl Reading at a Table']
-INFO: [batch bind: 1->ARTIST_ID:200, 2->GALLERY_ID:200, 3->ID:201, 4->NAME:'Gertrude Stein']
-INFO: === updated 2 rows.
-INFO: +++ transaction committed.
-INFO: --- transaction started.
-INFO: SELECT t0.GALLERY_ID, t0.NAME, t0.ARTIST_ID, t0.ID FROM PAINTING t0
-INFO: === returned 2 rows. - took 14 ms.
-INFO: +++ transaction committed.
-INFO: --- transaction started.
-INFO: SELECT t0.GALLERY_ID, t0.NAME, t0.ARTIST_ID, t0.ID FROM PAINTING t0 
-      WHERE UPPER(t0.NAME) LIKE UPPER(?) [bind: 1->NAME:'gi%']
-INFO: === returned 1 row. - took 10 ms.
-INFO: +++ transaction committed.
-INFO: --- transaction started.
-INFO: SELECT t0.DATE_OF_BIRTH, t0.NAME, t0.ID FROM ARTIST t0 WHERE t0.NAME = ? [bind: 1->NAME:'Pablo Picasso']
-INFO: === returned 1 row. - took 8 ms.
-INFO: +++ transaction committed.
-INFO: --- transaction started.
-INFO: DELETE FROM PAINTING WHERE ID = ?
-INFO: [batch bind: 1->ID:200]
-INFO: [batch bind: 1->ID:201]
-INFO: === updated 2 rows.
-INFO: DELETE FROM ARTIST WHERE ID = ?
-INFO: [batch bind: 1->ID:200]
-INFO: === updated 1 row.
-INFO: +++ transaction committed.</programlisting>
-        <para>You are done with the basic ROP client!</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/client-project.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/client-project.xml b/docs/docbook/getting-started-rop/src/docbkx/client-project.xml
deleted file mode 100644
index c5ead4b..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/client-project.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Starting Client Project</title>
-    <section xml:id="create-rop-client-project">
-        <title>Create an ROP Client Project in Eclipse</title>
-        <para>Creation of a new Eclipse project has been discussed in some details in "Getting
-            Started with Cayenne" guide, so we will omit the screenshots for the common
-            parts.</para>
-        <para>In Eclipse select "File &gt; New &gt; Other..." and then "Maven &gt; Maven Project".
-            Click "Next". On the following screen check "Create a simple project" checkbox and click
-            "Next" again. In the dialog shown on the screenshot below, enter "org.example.cayenne"
-            for the "Group Id" and "tutorial-rop-client" for the "Artifact Id" (both without the
-            quotes) and click "Finish". </para>
-        <para>Now you should have a new empty project in the Eclipse workspace. Check that the
-            project Java compiler settings are correct. Rightclick on the "tutorial-rop-client"
-            project, select "Properties &gt; Java Compiler" and ensure that "Compiler compliance
-            level" is at least 1.5 (some versions of Maven plugin seem to be setting it to 1.4 by
-            default).</para>
-    </section>
-    <section xml:id="create-client-java-classes">
-        <title>Create Client Java Classes</title>
-        <para>The client doesn't need the XML ORM mapping, as it is loaded from the server. However
-            it needs the client-side Java classes. Let's generate them from the existing
-            mapping:</para>
-        <itemizedlist>
-            <listitem>
-                <para>Start CayenneModeler and open cayenne.xml from the "tutorial" project (located
-                    under "tutorial/src/main/resources", unless it is already open.</para>
-            </listitem>
-            <listitem>
-                <para>Select the "datamap" DataMap and check "Allow Client Entities"
-                    checkbox.</para>
-            </listitem>
-            <listitem>
-                <para>Enter "org.example.cayenne.persistent.client" for the "Client Java Package"
-                    and click "Update.." button next to the field to refresh the client package of
-                    all entities.</para>
-                <para><inlinemediaobject>
-                        <imageobject>
-                            <imagedata fileref="images/datamap-enableclient.png" scalefit="1" width="100%"/>
-                        </imageobject>
-                    </inlinemediaobject></para>
-            </listitem>
-        </itemizedlist>
-        <itemizedlist>
-            <listitem>
-                <para>Select "Tools &gt; Generate Classes" menu.</para>
-            </listitem>
-            <listitem>
-                <para>For "Type" select "Client Persistent Objects".</para>
-            </listitem>
-            <listitem>
-                <para>For the "Output Directory" select "tutorial-rop-client/src/main/java" folder
-                    (as client classes should go in the <emphasis role="italic">client</emphasis>
-                    project).</para>
-            </listitem>
-            <listitem>
-                <para>Click on "Entities" tab and check the "Check All Classes" checkbox (unless it
-                    is already checked and reads "Uncheck all Classes").</para>
-            </listitem>
-            <listitem>
-                <para>Click "Generate".</para>
-            </listitem>
-        </itemizedlist>
-        <para>Now go back to Eclipse, right click on "tutorial-rop-client" project and select
-            "Refresh" - you should see pairs of classes generated for each mapped entity, same as on
-            the server. And again, we see a bunch of errors in those classes. Let's fix it now by
-            adding two dependencies, "cayenne-client" and "resin-hessian", in the bottom of the
-            pom.xml file. We also need to add Caucho M2 repository to pull Hessian jar files. The
-            resulting POM should look like this:</para>
-        <programlisting>&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
-    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
-    &lt;groupId&gt;org.example.cayenne&lt;/groupId&gt;
-    &lt;artifactId&gt;tutorial-rop-client&lt;/artifactId&gt;
-    &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
-
-    &lt;dependencies&gt;
-        &lt;dependency&gt;
-            &lt;groupId&gt;org.apache.cayenne&lt;/groupId&gt;
-            &lt;artifactId&gt;cayenne-client&lt;/artifactId&gt;
-            &lt;!-- Here specify the version of Cayenne you are actually using --&gt;
-            &lt;version&gt;3.1M3&lt;/version&gt;
-        &lt;/dependency&gt;
-        &lt;dependency&gt;
-        &lt;groupId&gt;com.caucho&lt;/groupId&gt;
-            &lt;artifactId&gt;resin-hessian&lt;/artifactId&gt;
-            &lt;version&gt;3.1.6&lt;/version&gt;
-        &lt;/dependency&gt;
-    &lt;/dependencies&gt;
-
-    &lt;repositories&gt;
-        &lt;repository&gt;
-            &lt;id&gt;caucho&lt;/id&gt;
-            &lt;name&gt;Caucho Repository&lt;/name&gt;
-            &lt;url&gt;http://caucho.com/m2&lt;/url&gt;
-            &lt;layout&gt;default&lt;/layout&gt;
-            &lt;snapshots&gt;
-                &lt;enabled&gt;false&lt;/enabled&gt;
-            &lt;/snapshots&gt;
-            &lt;releases&gt;
-                &lt;enabled&gt;true&lt;/enabled&gt;
-            &lt;/releases&gt;
-        &lt;/repository&gt;
-    &lt;/repositories&gt;
-&lt;/project&gt;</programlisting>
-        <para>Your computer must be connected to the internet. Once you save the pom.xml, Eclipse
-            will download the needed jar files and add them to the project build path. After that
-            all the errors should disappear.</para>
-        <para>Now let's check the entity class pairs. They look almost identical to their server
-            counterparts, although the superclass and the property access code are different. At
-            this point these differences are somewhat academic, so let's go on with the
-            tutorial.</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/index.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/index.xml b/docs/docbook/getting-started-rop/src/docbkx/index.xml
deleted file mode 100644
index 0825ea1..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/index.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started-rop" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <info>
-        <title>Getting Started with Cayenne ROP (Remote Object Persistence)</title>
-        <copyright>
-            <year>2011-2016</year>
-            <holder>Apache Software Foundation and individual authors</holder>
-        </copyright>
-        <legalnotice>
-            <title>License</title>
-            <para>Licensed to the Apache Software Foundation (ASF) under one or more contributor
-                license agreements. See the NOTICE file distributed with this work for additional
-                information regarding copyright ownership. The ASF licenses this file to you under
-                the Apache License, Version 2.0 (the "License"); you may not use this file except in
-                compliance with the License. You may obtain a copy of the License at
-                http://www.apache.org/licenses/LICENSE-2.0</para>
-            
-            <para>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.</para>
-        </legalnotice>
-    </info>
-    <xi:include href="part1.xml"/>
-    <xi:include href="part2.xml"/>
-</book>
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/part1.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/part1.xml b/docs/docbook/getting-started-rop/src/docbkx/part1.xml
deleted file mode 100644
index cf86a52..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/part1.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<part xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started-rop-part1" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <title>Prerequisites</title>
-    <xi:include href="setup.xml"/>
-</part>
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/part2.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/part2.xml b/docs/docbook/getting-started-rop/src/docbkx/part2.xml
deleted file mode 100644
index b2b27d7..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/part2.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<part xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
-    xml:id="getting-started-rop-part2" xmlns:xi="http://www.w3.org/2001/XInclude">
-    <title>Remote Object Persistence Quick Start</title>
-    <xi:include href="client-project.xml"/>
-    <xi:include href="web-service.xml"/>
-    <xi:include href="client-code.xml"/>
-    <xi:include href="authentification.xml"/>
-</part>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/setup.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/setup.xml b/docs/docbook/getting-started-rop/src/docbkx/setup.xml
deleted file mode 100644
index 4c5f5b9..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/setup.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Prerequisites</title>
-    <para>This tutorial starts where "Getting Started with Cayenne" left
-        off. If you have gone through the previous tutorial, and have the "tutorial" project open in
-        Eclipse, you can go directly to the 
-        next step. If not, here are the compressed instructions to prepare you for work
-        with ROP:</para>
-    <itemizedlist>
-        <listitem>
-            <para>
-                Step 1 - Eclipse Setup
-            </para>
-        </listitem>
-        <listitem>
-            <para>
-                Step 2 - Create a project
-            </para>
-        </listitem>
-        <listitem>
-            <para>
-               Step 3 - Create Cayenne OR Mapping
-            </para>
-        </listitem>
-        <listitem>
-            <para>
-                Step 4 - Create Java Classes
-            </para>
-        </listitem>
-        <listitem>
-            <para>
-                Step 5 - Convert the project to webapp.</para>
-        </listitem>
-    </itemizedlist>
-    <para>Note that at "Step 5" you can skip the JSP creation part. Just setup web.xml and
-        maven-jetty-plugin in the POM.</para>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/docbkx/web-service.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/docbkx/web-service.xml b/docs/docbook/getting-started-rop/src/docbkx/web-service.xml
deleted file mode 100644
index 9532a04..0000000
--- a/docs/docbook/getting-started-rop/src/docbkx/web-service.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Setting up Hessian Web Service</title>
-    <section xml:id="setting-up-dependencies">
-        <title>Setting up Dependencies</title>
-        <para>Now lets get back to the "tutorial" project that contains a web application and set up
-            dependencies. The only extra one that we don't have yet is resin-hessian.jar, just like
-            the client, so let's add it (and the caucho repo declaration) to the pom.xml.</para>
-        <programlisting>&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
-    ...
-    &lt;dependencies&gt;
-        ...
-        &lt;dependency&gt;
-            &lt;groupId&gt;com.caucho&lt;/groupId&gt;
-            &lt;artifactId&gt;resin-hessian&lt;/artifactId&gt;
-            &lt;version&gt;3.1.6&lt;/version&gt;
-        &lt;/dependency&gt;
-    &lt;/dependencies&gt;
-
-    &lt;build&gt;
-    ...
-    &lt;/build&gt;
-
-    &lt;repositories&gt;
-        &lt;repository&gt;
-            &lt;id&gt;caucho&lt;/id&gt;
-            &lt;name&gt;Caucho Repository&lt;/name&gt;
-            &lt;url&gt;http://caucho.com/m2&lt;/url&gt;
-            &lt;layout&gt;default&lt;/layout&gt;
-            &lt;snapshots&gt;
-                &lt;enabled&gt;false&lt;/enabled&gt;
-            &lt;/snapshots&gt;
-            &lt;releases&gt;
-                &lt;enabled&gt;true&lt;/enabled&gt;
-            &lt;/releases&gt;
-        &lt;/repository&gt;
-    &lt;/repositories&gt;
-    &lt;/project&gt;</programlisting>
-        
-        <note>
-            <para><emphasis role="bold">Maven Optimization
-                Hint</emphasis> 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 "inheriting" it from parent. This would reduce
-                build code duplication.</para>
-        </note>
-    </section>
-    <section xml:id="client-classes-on-server">
-        <title>Client Classes on the Server</title>
-        <para>Since ROP web service requires both server and client persistent classes, we need to
-            generate a second copy of the client classes inside the server project. This is a minor
-            inconvenience that will hopefully go away in the future versions of Cayenne. <emphasis
-                role="italic">Don't forget to refresh the project in Eclipse after class generation
-                is done.</emphasis></para>
-    </section>
-    <section xml:id="configuring-web-xml">
-        <title>Configuring web.xml</title>
-        <para>Cayenne web service is declared in the web.xml. It is implemented as a servlet
-            "org.apache.cayenne.configuration.rop.server.ROPHessianServlet". Open
-            tutorial/src/main/webapp/WEB-INF/web.xml in Eclipse and add a service declaration: </para>
-        <programlisting>&lt;?xml version="1.0" encoding="utf-8"?>
- &lt;!DOCTYPE web-app
-   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-   "http://java.sun.com/dtd/web-app_2_3.dtd">
-&lt;web-app>
-    &lt;display-name>Cayenne Tutorial&lt;/display-name>
-    &lt;servlet>
-        &lt;servlet-name>cayenne-project&lt;/servlet-name>
-        &lt;servlet-class>org.apache.cayenne.configuration.rop.server.ROPHessianServlet&lt;/servlet-class>
-        &lt;load-on-startup>0&lt;/load-on-startup>
-    &lt;/servlet>
-    &lt;servlet-mapping>
-        &lt;servlet-name>cayenne-project&lt;/servlet-name>
-        &lt;url-pattern>/cayenne-service&lt;/url-pattern>
-    &lt;/servlet-mapping>
-    &lt;/web-app></programlisting>
-        <note>
-            <para><emphasis role="bold">Extending Server Behavior via
-                Callbacks</emphasis> While no custom Java code is required on the
-                server, just a service declaration, it is possible to customizing
-                server-side behavior via callbacks and listeners (not shown in the
-                tutorial).</para>
-        </note>
-    </section>
-    <section xml:id="running-rop-server">
-        <title>Running ROP Server</title>
-        <para>Use previosly
-                created Eclipse Jetty run configuration available via "Run &gt; Run
-            Configurations..." (or create a new
-                one if none exists yet). You should see output in the Eclipse console similar
-            to the following:</para>
-        <programlisting>[INFO] Scanning for projects...
-[INFO]                                                                         
-[INFO] ------------------------------------------------------------------------
-[INFO] Building tutorial 0.0.1-SNAPSHOT
-[INFO] ------------------------------------------------------------------------
-...
-[INFO] Starting jetty 6.1.22 ...
-INFO::jetty-6.1.22
-INFO::No Transaction manager found - if your webapp requires one, please configure one.
-INFO::Started SelectChannelConnector@0.0.0.0:8080
-[INFO] Started Jetty Server
-INFO: Loading XML configuration resource from file:cayenne-project.xml
-INFO: loading user name and password.
-INFO: Created connection pool: jdbc:derby:memory:testdb;create=true
-    Driver class: org.apache.derby.jdbc.EmbeddedDriver
-    Min. connections in the pool: 1
-    Max. connections in the pool: 1</programlisting>
-        <para>Cayenne ROP service URL is <emphasis role="italic"
-                >http://localhost:8080/tutorial/cayenne-service</emphasis>. If you click on it, you
-            will see "Hessian Requires POST" message, that means that the service is alive, but you
-            need a client other than the web browser to access it.</para>
-    </section>
-</chapter>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started-rop/src/images/datamap-enableclient.png
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started-rop/src/images/datamap-enableclient.png b/docs/docbook/getting-started-rop/src/images/datamap-enableclient.png
deleted file mode 100644
index 62a2af2..0000000
Binary files a/docs/docbook/getting-started-rop/src/images/datamap-enableclient.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/pom.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/pom.xml b/docs/docbook/getting-started/pom.xml
deleted file mode 100644
index 2cd301c..0000000
--- a/docs/docbook/getting-started/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Licensed to the Apache Software Foundation (ASF) under one
-	or more contributor license agreements.  See the NOTICE file
-	distributed with this work for additional information
-	regarding copyright ownership.  The ASF licenses this file
-	to you under the Apache License, Version 2.0 (the
-	"License"); you may not use this file except in compliance
-	with the License.  You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing,
-	software distributed under the License is distributed on an
-	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	KIND, either express or implied.  See the License for the
-	specific language governing permissions and limitations
-	under the License.   
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<parent>
-		<groupId>org.apache.cayenne.docs</groupId>
-		<artifactId>cayenne-docbook</artifactId>
-		<version>3.1.3-SNAPSHOT</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.apache.cayenne.docs</groupId>
-	<artifactId>getting-started</artifactId>
-	<packaging>jar</packaging>
-	<name>Docbook: Getting Started with Cayenne</name>
-	
-	<build>
-		<resources>
-			<resource>
-				<directory>target/site</directory>
-			</resource>
-		</resources>
-	</build>
-</project>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7783cd34/docs/docbook/getting-started/src/docbkx/delete.xml
----------------------------------------------------------------------
diff --git a/docs/docbook/getting-started/src/docbkx/delete.xml b/docs/docbook/getting-started/src/docbkx/delete.xml
deleted file mode 100644
index e699a9b..0000000
--- a/docs/docbook/getting-started/src/docbkx/delete.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to you under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
-    <title>Deleting Objects</title>
-    <para>This chapter explains how to model relationship delete rules and how to delete individual
-        objects as well as sets of objects. Also demonstrated the use of Cayenne class to run a
-        query.</para>
-    <section xml:id="setup-delete-rules">
-        <title>Setting Up Delete Rules</title>
-        <para>Before we discuss the API for object deletion, lets go back to CayenneModeler and set
-            up some delete rules. Doing this is optional but will simplify correct handling of the
-            objects related to deleted objects.</para>
-        <para>In the Modeler go to "Artist" ObjEntity, "Relationships" tab and select "Cascade" for
-            the "paintings" relationship delete rule:</para>
-        <para><inlinemediaobject>
-                <imageobject>
-                    <imagedata fileref="images/modeler-deleterule.png" scalefit="1" width="100%"/>
-                </imageobject>
-            </inlinemediaobject>
-        </para>
-        <para>Repeat this step for other relationships:</para>
-        <itemizedlist>
-            <listitem>
-                <para>For Gallery set "paintings" relationship to be "Nullify", as a painting can
-                    exist without being displayed in a gallery.</para>
-            </listitem>
-            <listitem>
-                <para>For Painting et both relationships rules to "Nullify".</para>
-            </listitem>
-        </itemizedlist>
-        <para>Now save the mapping, and refresh the project in Eclispe.</para>
-    </section>
-    <section xml:id="deleting-objects">
-        <title>Deleting Objects</title>
-        <para>While deleting objects is possible via SQL, qualifying a delete on one or more IDs, a
-            more common way in Cayenne (or ORM in general) is to get a hold of the object first, and
-            then delete it via the context. Let's use utility class Cayenne to find an
-            artist:</para>
-        <programlisting language="java">Expression qualifier = ExpressionFactory.matchExp(Artist.NAME_PROPERTY, "Pablo Picasso");
-SelectQuery select = new SelectQuery(Artist.class, qualifier);
-Artist picasso = (Artist) Cayenne.objectForQuery(context, select);</programlisting>
-        <para>Now let's delete the artist:</para>
-        <programlisting language="java">if (picasso != null) {
-    context.deleteObject(picasso);
-    context.commitChanges();
-}</programlisting>
-        <para>Since we set up "Cascade" delete rule for the Artist.paintings relationships, Cayenne
-            will automatically delete all paintings of this artist. So when your run the app you'll
-            see this output:</para>
-        <programlisting>INFO: SELECT t0.DATE_OF_BIRTH, t0.NAME, t0.ID FROM ARTIST t0 
-      WHERE t0.NAME = ? [bind: 1->NAME:'Pablo Picasso'] - prepared in 6 ms.
-INFO: === returned 1 row. - took 18 ms.
-INFO: +++ transaction committed.
-INFO: --- transaction started.
-INFO: DELETE FROM PAINTING WHERE ID = ?
-INFO: [batch bind: 1->ID:200]
-INFO: [batch bind: 1->ID:201]
-INFO: === updated 2 rows.
-INFO: DELETE FROM ARTIST WHERE ID = ?
-INFO: [batch bind: 1->ID:200]
-INFO: === updated 1 row.
-INFO: +++ transaction committed.</programlisting>
-    </section>
-</chapter>


Mime
View raw message