Return-Path:
Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org
Received: (qmail 10343 invoked from network); 28 Jan 2008 21:57:26 -0000
Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2)
by minotaur.apache.org with SMTP; 28 Jan 2008 21:57:26 -0000
Received: (qmail 71673 invoked by uid 500); 28 Jan 2008 21:57:17 -0000
Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org
Received: (qmail 71593 invoked by uid 500); 28 Jan 2008 21:57:17 -0000
Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: dev@jackrabbit.apache.org
Delivered-To: mailing list commits@jackrabbit.apache.org
Received: (qmail 71584 invoked by uid 99); 28 Jan 2008 21:57:17 -0000
Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136)
by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Jan 2008 13:57:17 -0800
X-ASF-Spam-Status: No, hits=-100.0 required=10.0
tests=ALL_TRUSTED
X-Spam-Check-By: apache.org
Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3)
by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Jan 2008 21:56:58 +0000
Received: by eris.apache.org (Postfix, from userid 65534)
id 390971A983A; Mon, 28 Jan 2008 13:57:05 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r616072 - in /jackrabbit/trunk/jackrabbit-site/src/site:
site.xml xdoc/ocm/api/basic-operations.xml xdoc/ocm/api/locking.xml
xdoc/ocm/api/search.xml xdoc/ocm/api/versionning.xml
xdoc/ocm/engine-introduction.xml xdoc/ocm/index.xml
Date: Mon, 28 Jan 2008 21:57:03 -0000
To: commits@jackrabbit.apache.org
From: clombart@apache.org
X-Mailer: svnmailer-1.0.8
Message-Id: <20080128215705.390971A983A@eris.apache.org>
X-Virus-Checked: Checked by ClamAV on apache.org
Author: clombart
Date: Mon Jan 28 13:57:02 2008
New Revision: 616072
URL: http://svn.apache.org/viewvc?rev=616072&view=rev
Log:
Review the OCM doc. work still in progress
Modified:
jackrabbit/trunk/jackrabbit-site/src/site/site.xml
jackrabbit/trunk/jackrabbit-site/src/site/xdoc/ocm/api/basic-operations.xml
jackrabbit/trunk/jackrabbit-site/src/site/xdoc/ocm/api/locking.xml
jackrabbit/trunk/jackrabbit-site/src/site/xdoc/ocm/api/search.xml
jackrabbit/trunk/jackrabbit-site/src/site/xdoc/ocm/api/versionning.xml
jackrabbit/trunk/jackrabbit-site/src/site/xdoc/ocm/engine-introduction.xml
jackrabbit/trunk/jackrabbit-site/src/site/xdoc/ocm/index.xml
Modified: jackrabbit/trunk/jackrabbit-site/src/site/site.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-site/src/site/site.xml?rev=616072&r1=616071&r2=616072&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-site/src/site/site.xml (original)
+++ jackrabbit/trunk/jackrabbit-site/src/site/site.xml Mon Jan 28 13:57:02 2008
@@ -76,18 +76,18 @@
-
+
-
+
-
+
+
For a business developer, it is not necessary to know how the ObjectContent Manager is using the Class Descriptors. He has to make only a choice between annoted classes or one or more XML files.
+
+
+
+ In all cases, a persistent object (a pojo) is mapped into a JCR node and its fields are mapped into subnodes or properties depending on their types.
+
+
+ There are 4 "field types":
+
+
Atomic fields
@@ -60,65 +64,58 @@
Bean fields
One class can contain an 1..1 association to another bean.
- In this case, the attribute is a custom object. Those fields
- are mapped into JCR subnodes.
+ In this case, the field is a custom object. Those fields
+ are mapped into JCR subnodes or a referenced node.
Collection fields
One class can contain an 1..n association to a collection of
beans (or Map). Those fields are mapped into a collection of
- JCR subnodes.
-
-
Reference fields
-
- One good example to understand the "reference" type is the
- Folder concept. A folder "B" can have an attribute called
- "parentFolder" which is a simple field pointing to the parent
- folder "A". Of course, in a JCR repository, it is a nonsense
- for persist this "parentFolder" attribute into a "B" subnode.
- Another interesting example are references between cms objects
- (folders, documents, ...). This type is not yet implemented.
+ JCR subnodes or a collection of referenced nodes. It is also possible to map a java collection into a multivalue property.
- Of course, all those "field types" imply different mapping
- algorithms.
-
-
- The descriptor file contains also information on
- inheritance/interface mapping strategy, lazy loading,
+ The Mapping descriptor contains also information on inheritances, interface mapping strategy, lazy loading,
custom converter, cache strategy, etc.
-
-
- The mapping descriptor is an xml file with the following structure:
-
-
-
- The root element is "jackrabbit-ocm" and it contains one or more
- "class-descriptor". As you can see in the
- Mapping Strategies
- section, each class-descriptor contains the mapping information
- used for each class attribute.
-
-
- It is possible to have several mapping descriptor files.
-
+
+
+
+ When you start your application, you need the following code
+ to initialize correctly the Object Content Manager.
+
+
-
+
When you start your application, you need the following code
- to initialize correctly the Object Manager.
+ to initialize correctly the Object Content Manager.
- This subproject is an object/JCR persistence and query service.
- This tools lets you to persist Java objects into a JCR compliant
- repository - including association, inheritance, polymorphism,
- composition, and the Java collections framework. Furthermore,
- this OCM component allows you to express queries in Java-based
- criteria, as well as in JCR query language. It offers also
- features like version support and object locking.
+
+
+
+ Jackrabbit OCM is a framework used to persist java objects (pojos) in a JCR repository including association, inheritance, polymorphism, composition, and the Java collections framework. It offers also features like version support, object locking and express queries with Java-based criteria, as well as with JCR query languages.
+ In order to easily support the JCR specification, any content application managing an high level object model can use this framework. For example, a classic Forum application contains objects like "Forum", "Topic" and "Post". Now, Jackrabbit OCM can manage these pojos and persist them into a JCR compliant repository.
- In order to easily support the JCR specification, any content
- application managing an high level object model can use this
- framework. For example, a classic Forum application contains
- objects like "Forum", "Topic" and "Post". Now, the data objects
- (pojo) can be managed by our JCR mapping tools in order to persist
- them into a JCR compliant repository.
+
- The object content mapping framework was created for the following
- different reasons:
+ The object content mapping framework was created for the following reasons: