This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 220c4b42776bcc739cbd7eb057b8249350127aa1
Author: Nikita Timofeev <[email protected]>
AuthorDate: Thu Jul 7 18:24:47 2022 +0300

    CAY-2744 Remove ROP support
     - delete ROP-related documentation
---
 .../docs/asciidoc/_cayenne-guide/part1/setup.adoc  |   6 +-
 .../src/docs/asciidoc/_cayenne-guide/part3.adoc    |  27 ---
 .../asciidoc/_cayenne-guide/part3/clientImpl.adoc  |  16 --
 .../asciidoc/_cayenne-guide/part3/limitations.adoc |  18 --
 .../docs/asciidoc/_cayenne-guide/part3/rop.adoc    |  54 ------
 .../_cayenne-guide/part3/ropDeployment.adoc        |  42 -----
 .../asciidoc/_cayenne-guide/part3/ropSetup.adoc    |  20 ---
 .../asciidoc/_cayenne-guide/part3/serverImpl.adoc  |  16 --
 .../src/docs/asciidoc/cayenne-guide.adoc           |   3 -
 docs/asciidoc/getting-started-rop/pom.xml          | 122 -------------
 .../docs/asciidoc/_getting-started-rop/header.html |  24 ---
 .../docs/asciidoc/_getting-started-rop/part1.adoc  |  17 --
 .../_getting-started-rop/part1/prerequisites.adoc  |  25 ---
 .../docs/asciidoc/_getting-started-rop/part2.adoc  |  23 ---
 .../_getting-started-rop/part2/adding.adoc         | 139 ---------------
 .../_getting-started-rop/part2/connect.adoc        | 188 ---------------------
 .../_getting-started-rop/part2/hessianWebServ.adoc | 137 ---------------
 .../_getting-started-rop/part2/starting.adoc       | 109 ------------
 .../docs/asciidoc/_getting-started-rop/var.adoc    |  15 --
 .../src/docs/asciidoc/getting-started-rop.adoc     |  45 -----
 .../docs/asciidoc/images/datamap-enableclient.png  | Bin 98756 -> 0 bytes
 docs/asciidoc/pom.xml                              |   1 -
 22 files changed, 5 insertions(+), 1042 deletions(-)

diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part1/setup.adoc 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part1/setup.adoc
index 895dc75c1..6555da65b 100644
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part1/setup.adoc
+++ 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part1/setup.adoc
@@ -26,12 +26,16 @@ include::../var.adoc[]
 |===
 |Cayenne Version |Java Version |Status
 
+|4.3
+|Java 11 or newer
+|Development
+
 |4.2
 |Java 1.8 or newer
 |Release Candidate
 
 |4.1
-|Java 1.8 or newer
+|Java 1.8 -- Java 17
 |Stable
 
 |4.0
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3.adoc 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3.adoc
deleted file mode 100644
index 274789d7e..000000000
--- a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3.adoc
+++ /dev/null
@@ -1,27 +0,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
-//
-// https://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.
-
-[#rop]
-== Cayenne Framework - Remote Object Persistence
-
-include::part3/rop.adoc[]
-
-include::part3/ropDeployment.adoc[]
-
-// TODO: add content to these files:
-//include::part3/ropSetup.adoc[]
-//include::part3/serverImpl.adoc[]
-//include::part3/clientImpl.adoc[]
-//include::part3/limitations.adoc[]
-
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/clientImpl.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/clientImpl.adoc
deleted file mode 100644
index 2260affc6..000000000
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/clientImpl.adoc
+++ /dev/null
@@ -1,16 +0,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
-//
-// https://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.
-
-=== Implementing ROP Client
-
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/limitations.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/limitations.adoc
deleted file mode 100644
index bfe87ac8c..000000000
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/limitations.adoc
+++ /dev/null
@@ -1,18 +0,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
-//
-// https://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.
-
-=== Current Limitations
-
-
-
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/rop.adoc 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/rop.adoc
deleted file mode 100644
index 083ca1863..000000000
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/rop.adoc
+++ /dev/null
@@ -1,54 +0,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
-//
-// https://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.
-
-[[introduction-to-rop]]
-=== Introduction to ROP
-
-==== What is ROP
-
-"Remote Object Persistence" is a low-overhead web services-based technology 
that provides lightweight object persistence and query functionality to 
'remote' applications. In other words it provides familiar Cayenne API to 
applications that do not have direct access to the database. Instead such 
applications would access Cayenne Web Service (CWS). A single abstract data 
model (expressed as Cayenne XML DataMap) is used on the server and on the 
client, while execution logic can be partition [...]
-
-image::../images/remote-object-persistence.jpg[align="center"]
-
-Persistence stack above consists of the following parts:
-
-- ORM Tier: a server-side Cayenne Java application that directly connects to 
the database via JDBC.
-
-- CWS (Cayenne Web Service): A wrapper around an ORM tier that makes it 
accessible to remote CWS clients.
-
-- Remote Tier (aka Client Tier): A Java application that has no direct DB 
connection and persists its objects by connecting to remote Cayenne Web Service 
(CWS). Note that CWS Client doesn't have to be a desktop application. It can be 
another server-side application. The word "client" means a client of Cayenne 
Web Service.
-
-==== Main Features
-
-- Unified approach to lightweight object persistence across multiple tiers of 
a distributed system.
-
-- Same abstract object model on the server and on the client.
-
-- Client can "bootstrap" from the server by dynamically loading persistence 
metadata.
-
-- An ability to define client objects differently than the server ones, and 
still have seamless persistence.
-
-- Generic web service interface that doesn't change when object model changes.
-
-- An ability to work in two modes: dedicated session mode or shared ("chat") 
mode when multiple remote clients collaboratively work on the same data.
-
-- Lazy object and collection faulting.
-
-- Full context lifecycle
-
-- Queries, expressions, local query caching, paginated queries.
-
-- Validation
-
-- Delete Rules
\ No newline at end of file
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/ropDeployment.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/ropDeployment.adoc
deleted file mode 100644
index b443544ac..000000000
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/ropDeployment.adoc
+++ /dev/null
@@ -1,42 +0,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
-//
-// https://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.
-
-=== ROP Deployment
-
-==== Server Security Note
-
-Recent versions of Tomcat and Jetty containers (e.g. Tomcat 6 and 7, Jetty 8) 
contain code
-addressing a security concern related to "session fixation problem" by 
resetting the existing session ID of any request
-that requires BASIC authentication. If ROP service is protected with 
declarative security
-(see the ROP tutorial and the following chapters on security), this feature 
prevents the ROP client
-from attaching to its session, resulting in `MissingSessionExceptions`.
-
-To solve that you will need to either switch to an alternative security 
mechanism,
-or disable "session fixation problem" protections of the container.
-E.g. the later can be achieved in Tomcat 7 by adding the following 
`context.xml` file to the webapp's `META-INF/` directory:
-
-[source, XML]
-----
-<Context>
-    <Valve className="org.apache.catalina.authenticator.BasicAuthenticator"
-            changeSessionIdOnAuthentication="false" />
-</Context>
-----
-
-(The `<Valve>` tag can also be placed within the `<Context>` in any other 
locations used by Tomcat to load context configurations)
-
-//==== Deploying ROP Client
-
-//==== Security
-
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/ropSetup.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/ropSetup.adoc
deleted file mode 100644
index ff2a6bdea..000000000
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/ropSetup.adoc
+++ /dev/null
@@ -1,20 +0,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
-//
-// https://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.
-
-=== Implementing ROP Client
-
-==== System Requirements
-
-==== Jar Files and Dependencies
-
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/serverImpl.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/serverImpl.adoc
deleted file mode 100644
index f9ace4e38..000000000
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part3/serverImpl.adoc
+++ /dev/null
@@ -1,16 +0,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
-//
-// https://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.
-
-=== Implementing ROP Server
-
diff --git a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc
index ef689ee4c..6ffabfd28 100644
--- a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc
+++ b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc
@@ -47,9 +47,6 @@ include::_cayenne-guide/part5.adoc[]
 
 include::_cayenne-guide/part6.adoc[]
 
-// move ROP docs down
-include::_cayenne-guide/part3.adoc[]
-
 include::_cayenne-guide/configurationProperties.adoc[]
 
 include::_cayenne-guide/serviceCollections.adoc[]
diff --git a/docs/asciidoc/getting-started-rop/pom.xml 
b/docs/asciidoc/getting-started-rop/pom.xml
deleted file mode 100644
index 70358d011..000000000
--- a/docs/asciidoc/getting-started-rop/pom.xml
+++ /dev/null
@@ -1,122 +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
-
-       https://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>
-        <artifactId>cayenne-asciidoc-parent</artifactId>
-        <groupId>org.apache.cayenne.docs</groupId>
-        <version>4.3.M1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>getting-started-rop</artifactId>
-
-    <packaging>jar</packaging>
-    <name>${project.artifactId}: AsciiDoc - Getting Started with Cayenne ROP 
(Remote Object Persistence)</name>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.asciidoctor</groupId>
-                <artifactId>asciidoctor-maven-plugin</artifactId>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.cayenne.docs</groupId>
-                        <artifactId>cayenne-asciidoc-extension</artifactId>
-                        <version>${project.version}</version>
-                    </dependency>
-                </dependencies>
-
-                <executions>
-                    <!-- generate "embeddable" html content with front matter 
and without header/footer/styles -->
-                    <execution>
-                        <id>asciidoctor-html-web</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>process-asciidoc</goal>
-                        </goals>
-                        <configuration>
-                            <backend>html5</backend>
-                            <headerFooter>false</headerFooter> <!-- do not 
generate header and footer -->
-                            
<outputDirectory>${project.build.directory}/tmp/</outputDirectory>
-                            <extensions>
-                                <extension>
-                                    
<className>org.apache.cayenne.asciidoc.CayennePostProcessor</className>
-                                </extension>
-                            </extensions>
-                            <attributes>
-                                <toc>auto</toc>
-                            </attributes>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>assembly</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.asciidoctor</groupId>
-                        <artifactId>asciidoctor-maven-plugin</artifactId>
-                        <executions>
-                            <!-- generate standalone html help -->
-                            <execution>
-                                <id>asciidoctor-html-standalone</id>
-                                <phase>${build.docs}</phase>
-                                <goals>
-                                    <goal>process-asciidoc</goal>
-                                </goals>
-                                <configuration>
-                                    <backend>html5</backend>
-                                    
<sourceHighlighter>coderay</sourceHighlighter>
-                                    <embedAssets>true</embedAssets>
-                                    <attributes>
-                                        <toc>left</toc>
-                                    </attributes>
-                                </configuration>
-                            </execution>
-
-                            <!-- generate PDF -->
-                            <execution>
-                                <id>generate-pdf-doc</id>
-                                <phase>${build.docs}</phase>
-                                <goals>
-                                    <goal>process-asciidoc</goal>
-                                </goals>
-                                <configuration>
-                                    <backend>pdf</backend>
-                                    
<sourceHighlighter>coderay</sourceHighlighter>
-                                    <attributes>
-                                        <pagenums />
-                                        <toc />
-                                    </attributes>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
\ No newline at end of file
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/header.html
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/header.html
deleted file mode 100644
index 1c90b0a91..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/header.html
+++ /dev/null
@@ -1,24 +0,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
-#
-#    https://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.
-
-title: "Cayenne Getting Started ROP"
-description: "Tutorial how to quick start new Cayenne ROP project"
-cayenneVersion: "4.2"
-docsMenuTitle: "Getting Started ROP"
-weight: 40
----
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part1.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part1.adoc
deleted file mode 100644
index 9fb6c132d..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part1.adoc
+++ /dev/null
@@ -1,17 +0,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
-//
-// https://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.
-
-== Prerequisites
-
-include::part1/prerequisites.adoc[]
\ No newline at end of file
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part1/prerequisites.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part1/prerequisites.adoc
deleted file mode 100644
index 9327bda0f..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part1/prerequisites.adoc
+++ /dev/null
@@ -1,25 +0,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
-//
-// https://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.
-
-=== Prerequisites
-
-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:
-
-* Step 1 - Eclipse Setup
-* Step 2 - Create a project
-* Step 3 - Create Cayenne OR Mapping
-* Step 4 - Create Java Classes
-* Step 5 - Convert the project to webapp.
-
-Note that at "Step 5" you can skip the JSP creation part. Just setup `web.xml` 
and `maven-jetty-plugin` in the POM.
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2.adoc
deleted file mode 100644
index 263f84516..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2.adoc
+++ /dev/null
@@ -1,23 +0,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
-//
-// https://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.
-
-== Remote Object Persistence Quick Start
-
-include::part2/starting.adoc[]
-
-include::part2/hessianWebServ.adoc[]
-
-include::part2/connect.adoc[]
-
-include::part2/adding.adoc[]
\ No newline at end of file
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/adding.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/adding.adoc
deleted file mode 100644
index 8b75e5c7a..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/adding.adoc
+++ /dev/null
@@ -1,139 +0,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
-//
-// https://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.
-
-=== Adding BASIC Authentication
-
-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.
-
-==== Securing ROP Server Application
-
-Open web.xml file in the server project and setup security constraints with 
BASIC authentication for the ROP service:
-
-[source, XML]
-----
-<security-constraint>
-    <web-resource-collection>
-        <web-resource-name>CayenneService</web-resource-name>
-        <url-pattern>/cayenne-service</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-        <role-name>cayenne-service-user</role-name>
-    </auth-constraint>
-</security-constraint>
-
-<login-config>
-    <auth-method>BASIC</auth-method>
-    <realm-name>Cayenne Realm</realm-name>
-</login-config>
-
-<security-role>
-    <role-name>cayenne-service-user</role-name>
-</security-role>
-----
-
-==== Configuring Jetty for BASIC Authentication
-
-NOTE: These instructions are specific to Jetty 6. Other containers (and 
versions of Jetty) will have different mechanisms
-to achieve the same thing.
-
-Open pom.xml in the server project and configure a "userRealm" for the Jetty 
plugin:
-
-[source, XML]
-----
-<plugin>
-    <groupId>org.eclipse.jetty</groupId>
-        <artifactId>maven-jetty-plugin</artifactId>
-        <version>9.4.8.v20171121</version>
-        <!-- adding configuration below: -->
-        <configuration>
-            <userRealms>
-                <userRealm 
implementation="org.eclipse.jetty.security.HashLoginService">
-                    <!-- this name must match the realm-name in web.xml -->
-                    <name>Cayenne Realm</name>
-                    <config>realm.properties</config>
-                </userRealm>
-            </userRealms>
-        </configuration>
-    </plugin>
-</plugins>
-----
-
-Now create a new file called `realm.properties` at the root of the server 
project and put user login/password in there:
-
-----
-cayenne-user: secret,cayenne-service-user
-----
-
-Now let's stop the server and start it again. Everything should start as 
before, but if you go to
-http://localhost:8080/tutorial/cayenne-service, your browser should pop up 
authentication dialog.
-Enter "cayenne-user/secret" for user name / password, and you should see 
"Hessian Requires POST" message.
-So the server is now secured.
-
-==== Running Client with Basic Authentication
-
-If you run the client without any changes, you'll get the following error:
-
-----
-Mar 01, 2016 7:25:50 PM org.apache.cayenne.rop.http.HttpROPConnector logConnect
-INFO: Connecting to 
[cayenne-user@http://localhost:8080/tutorial-rop-server/cayenne-service] - 
dedicated session.
-Mar 01, 2016 7:25:50 PM org.apache.cayenne.rop.HttpClientConnection connect
-INFO: Server returned HTTP response code: 401 for URL: 
http://localhost:8080/tutorial-rop-server/cayenne-service
-java.rmi.RemoteException: Server returned HTTP response code: 401 for URL: 
http://localhost:8080/tutorial-rop-server/cayenne-service
-       at 
org.apache.cayenne.rop.ProxyRemoteService.establishSession(ProxyRemoteService.java:45)
-       at 
org.apache.cayenne.rop.HttpClientConnection.connect(HttpClientConnection.java:85)
-       at 
org.apache.cayenne.rop.HttpClientConnection.getServerEventBridge(HttpClientConnection.java:68)
-       at 
org.apache.cayenne.remote.ClientChannel.setupRemoteChannelListener(ClientChannel.java:279)
-       at org.apache.cayenne.remote.ClientChannel.<init>(ClientChannel.java:71)
-       at 
org.apache.cayenne.configuration.rop.client.ClientChannelProvider.get(ClientChannelProvider.java:48)
-       at 
org.apache.cayenne.configuration.rop.client.ClientChannelProvider.get(ClientChannelProvider.java:31)
-       at 
org.apache.cayenne.di.spi.CustomProvidersProvider.get(CustomProvidersProvider.java:39)
-       at 
org.apache.cayenne.di.spi.FieldInjectingProvider.get(FieldInjectingProvider.java:43)
-       at 
org.apache.cayenne.di.spi.DefaultScopeProvider.get(DefaultScopeProvider.java:50)
-       at 
org.apache.cayenne.di.spi.DefaultInjector.getInstance(DefaultInjector.java:139)
-       at 
org.apache.cayenne.di.spi.FieldInjectingProvider.value(FieldInjectingProvider.java:105)
-       at 
org.apache.cayenne.di.spi.FieldInjectingProvider.injectMember(FieldInjectingProvider.java:68)
-       at 
org.apache.cayenne.di.spi.FieldInjectingProvider.injectMembers(FieldInjectingProvider.java:59)
-       at 
org.apache.cayenne.di.spi.FieldInjectingProvider.get(FieldInjectingProvider.java:44)
-       at 
org.apache.cayenne.di.spi.DefaultScopeProvider.get(DefaultScopeProvider.java:50)
-       at 
org.apache.cayenne.di.spi.DefaultInjector.getInstance(DefaultInjector.java:134)
-       at 
org.apache.cayenne.configuration.CayenneRuntime.newContext(CayenneRuntime.java:134)
-       at org.apache.cayenne.tutorial.persistent.client.Main.main(Main.java:44)
-----
-
-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:
-
-[source, java]
-----
-Map<String,String> properties = new HashMap<>();
-properties.put(ClientConstants.ROP_SERVICE_URL_PROPERTY, 
"http://localhost:8080/cayenne-service";);
-properties.put(ClientConstants.ROP_SERVICE_USERNAME_PROPERTY, "cayenne-user");
-properties.put(ClientConstants.ROP_SERVICE_PASSWORD_PROPERTY, "secret");
-properties.put(ClientConstants.ROP_SERVICE_REALM_PROPERTY, "Cayenne Realm");
-
-ClientRuntime runtime = ClientRuntime.builder()
-                        .properties(properties)
-                        .addModule(new ClientJettyHttpModule())
-                        .build();
-----
-
-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
-eavesdropping on your password and data.
-
-Congratulations, you are done with the ROP tutorial!
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/connect.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/connect.adoc
deleted file mode 100644
index e1b3263c3..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/connect.adoc
+++ /dev/null
@@ -1,188 +0,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
-//
-// https://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.
-
-=== Porting Existing Code to Connect to a Web Service Instead of a Database
-
-==== Starting Command Line Client
-
-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.
-
-Let's start by creating an empty Main class with the standard main() method in 
the client project:
-
-[source, java]
-----
-package org.example.cayenne.persistent.client;
-
-public class Main {
-
-    public static void main(String[] args) {
-
-    }
-}
-----
-
-Now the part that is actually different from regular Cayenne - establishing 
the server connection and
-obtaining the ObjectContext:
-
-[source, java]
-----
-Map<String, String> properties = new HashMap<>();
-properties.put(ClientConstants.ROP_SERVICE_URL_PROPERTY, 
"http://localhost:8080/cayenne-service";);
-properties.put(ClientConstants.ROP_SERVICE_USERNAME_PROPERTY, "cayenne-user");
-properties.put(ClientConstants.ROP_SERVICE_PASSWORD_PROPERTY, "secret");
-properties.put(ClientConstants.ROP_SERVICE_REALM_PROPERTY, "Cayenne Realm");
-
-
-ClientRuntime runtime = ClientRuntime.builder()
-                        .properties(properties)
-                        .addModule(new ClientJettyHttpModule())
-                        .build();
-ObjectContext context = runtime.newContext();
-----
-
-Note that the "runtime" 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).
-
-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:
-
-[source, 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();
-----
-
-Now let's select them back:
-
-[source, java]
-----
-// ObjectSelect examples
-List<Painting> paintings1 = ObjectSelect.query(Painting.class).select(context);
-
-List<Painting> paintings2 = ObjectSelect.query(Painting.class)
-        .where(Painting.NAME.likeIgnoreCase("gi%")).select(context);
-----
-
-Now, delete:
-
-[source, java]
-----
-// Delete object example
-Artist picasso = ObjectSelect.query(Artist.class).where(Artist.NAME.eq("Pablo 
Picasso")).selectOne(context);
-
-if (picasso != null) {
-    context.deleteObject(picasso);
-    context.commitChanges();
-}
-----
-
-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 > Run As > 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:
-
-----
-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.
-----
-
-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:
-
-----
-...
-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.
-----
-
-You are done with the basic ROP client!
\ No newline at end of file
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/hessianWebServ.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/hessianWebServ.adoc
deleted file mode 100644
index e894dfcf6..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/hessianWebServ.adoc
+++ /dev/null
@@ -1,137 +0,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
-//
-// https://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.
-
-===  Setting up Hessian Web Service
-
-==== Setting up Dependencies
-
-Now lets get back to the "tutorial" project that contains a web application 
and set up dependencies.
-Let's add `resin-hessian.jar` (and the caucho repo declaration) and 
`cayenne-rop-server` to the `pom.xml`
-
-[source, XML]
-----
-<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";>
-    ...
-    <dependencies>
-        ...
-        <dependency>
-               <groupId>org.apache.cayenne</groupId>
-               <artifactId>cayenne-rop-server</artifactId>
-               <!-- Here specify the version of Cayenne you are actually using 
-->
-            <version>{version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.caucho</groupId>
-            <artifactId>hessian</artifactId>
-            <version>4.0.38</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-    ...
-    </build>
-
-    <repositories>
-        <repository>
-            <id>caucho</id>
-            <name>Caucho Repository</name>
-            <url>http://caucho.com/m2</url>
-            <layout>default</layout>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </repository>
-    </repositories>
-    </project>
-----
-
-[NOTE]
-.Maven Optimization Hint
-====
-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.
-====
-
-==== Client Classes on the Server
-
-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. Don't forget to refresh the project in 
Eclipse after class generation is done.
-
-==== Configuring web.xml
-
-Cayenne web service is declared in the web.xml. It is implemented as a servlet 
`org.apache.cayenne.rop.ROPServlet`.
-Open `tutorial/src/main/webapp/WEB-INF/web.xml` in Eclipse and add a service 
declaration:
-
-[source, XML]
-----
-<?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE web-app
-   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-   "http://java.sun.com/dtd/web-app_2_3.dtd";>
-<web-app>
-    <display-name>Cayenne Tutorial</display-name>
-    <servlet>
-        <servlet-name>cayenne-project</servlet-name>
-        <servlet-class>org.apache.cayenne.rop.ROPServlet</servlet-class>
-        <load-on-startup>0</load-on-startup>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>cayenne-project</servlet-name>
-        <url-pattern>/cayenne-service</url-pattern>
-    </servlet-mapping>
-    </web-app>
-----
-
-[NOTE]
-.Extending Server Behavior via Callbacks
-====
-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).
-====
-
-==== Running ROP Server
-
-Use previosly created Eclipse Jetty run configuration available via "Run > Run 
Configurations..."
-(or create a new one if none exists yet). You should see output in the Eclipse 
console similar to the following:
-
-----
-[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 [email protected]: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
-----
-
-Cayenne ROP service URL is http://localhost:8080/tutorial/cayenne-service[]. 
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.
\ No newline at end of file
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/starting.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/starting.adoc
deleted file mode 100644
index 8741df056..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/part2/starting.adoc
+++ /dev/null
@@ -1,109 +0,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
-//
-// https://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.
-
-include::../var.adoc[]
-
-=== Starting Client Project
-
-==== Create an ROP Client Project in Eclipse
-
-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.
-
-In Eclipse select "File > New > Other..." and then "Maven > 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".
-
-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 > 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).
-
-==== Create Client Java Classes
-
-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:
-
-* Start CayenneModeler and open `cayenne.xml` from the "tutorial" project 
(located under `tutorial/src/main/resources`,
-unless it is already open.
-
-* Select the "datamap" DataMap and check "Allow Client Entities" checkbox.
-
-* 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.
-
-image::../images/datamap-enableclient.png[align="center"]
-
-* Select "Tools > Generate Classes" menu.
-
-* For "Type" select "Client Persistent Objects".
-
-* For the "Output Directory" select `tutorial-rop-client/src/main/java` folder 
(as client classes should go in the client project).
-
-* Click on "Classes" tab and check the "Check All Classes" checkbox (unless it 
is already checked and reads "Uncheck all Classes").
-
-* Click "Generate".
-
-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 "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:
-
-[source, XML,subs="verbatim,attributes"]
-----
-<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";>
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.example.cayenne</groupId>
-    <artifactId>tutorial-rop-client</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.cayenne</groupId>
-            <artifactId>cayenne-client-jetty</artifactId>
-            <!-- Here specify the version of Cayenne you are actually using -->
-            <version>{version}</version>
-        </dependency>
-        <dependency>
-        <groupId>com.caucho</groupId>
-            <artifactId>hessian</artifactId>
-            <version>4.0.38</version>
-        </dependency>
-    </dependencies>
-
-    <repositories>
-        <repository>
-            <id>caucho</id>
-            <name>Caucho Repository</name>
-            <url>http://caucho.com/m2</url>
-            <layout>default</layout>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </repository>
-    </repositories>
-</project>
-----
-
-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.
-
-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.
\ No newline at end of file
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/var.adoc
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/var.adoc
deleted file mode 100644
index aaeabee64..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/_getting-started-rop/var.adoc
+++ /dev/null
@@ -1,15 +0,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
-//
-// https://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.
-
-:version: {project-version}
\ No newline at end of file
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/getting-started-rop.adoc 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/getting-started-rop.adoc
deleted file mode 100644
index 040abffdf..000000000
--- 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/getting-started-rop.adoc
+++ /dev/null
@@ -1,45 +0,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
-//
-// https://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.
-= Getting Started with Cayenne ROP (Remote Object Persistence)
-:revnumber: {project-major-version} ({project-version})
-// enable section numbering, limiting depth to 2
-:sectnums:
-:sectnumlevels: 2
-// use custom header
-:cayenne-header: _getting-started-rop/header.html
-:cayenne-header-position: body
-// customize final layout
-//:linkcss:
-// base path to java code include
-:cayenne-root: {basedir}/../../..
-
-[small]#Copyright © 2011-{docyear} Apache Software Foundation and individual 
authors#
-
-.License
-[small]#_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 https://www.apache.org/licenses/LICENSE-2.0_#
-
-[small]#_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._#
-
-include::_getting-started-rop/part1.adoc[]
-
-include::_getting-started-rop/part2.adoc[]
-
-
-
diff --git 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/images/datamap-enableclient.png
 
b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/images/datamap-enableclient.png
deleted file mode 100644
index 4e57a5e18..000000000
Binary files 
a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/images/datamap-enableclient.png
 and /dev/null differ
diff --git a/docs/asciidoc/pom.xml b/docs/asciidoc/pom.xml
index d42e13c6a..6e2e3fa78 100644
--- a/docs/asciidoc/pom.xml
+++ b/docs/asciidoc/pom.xml
@@ -36,7 +36,6 @@
         <module>cayenne-guide</module>
         <module>getting-started-guide</module>
         <module>getting-started-db-first</module>
-        <module>getting-started-rop</module>
         <module>upgrade-guide</module>
     </modules>
 

Reply via email to