You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by cl...@apache.org on 2008/09/25 21:56:35 UTC

svn commit: r699067 - in /jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org: ./ apache/ apache/jackrabbit/ apache/jackrabbit/ocm/ apache/jackrabbit/ocm/config/

Author: clombart
Date: Thu Sep 25 12:56:35 2008
New Revision: 699067

URL: http://svn.apache.org/viewvc?rev=699067&view=rev
Log:
Add OCM DTD 1.5 (JCR-1754)
I also added the DTD 1.4. It was certainly removed by error. 

Added:
    jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/
    jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/
    jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/
    jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/
    jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/
    jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.4.dtd
    jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.5.dtd

Added: jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.4.dtd
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.4.dtd?rev=699067&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.4.dtd (added)
+++ jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.4.dtd Thu Sep 25 12:56:35 2008
@@ -0,0 +1,165 @@
+<!--
+/*
+ * 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.
+ */
+-->
+
+<!ELEMENT jackrabbit-ocm (class-descriptor*)>
+
+<!ATTLIST jackrabbit-ocm package CDATA #IMPLIED>
+
+<!--
+    Class descriptor - Each class descriptor describes the mapping strategy used for one a java class
+    * className : the class name
+    * jcrType : the primary jcr node type, optional, default is nt:unstructured
+    * jcrSuperTypes : the jcr super types, optional
+    * jcrMixinTypes: the jcr mixin types (comma separated list) (optional)
+    * extends: name of super class (optional)
+    * abstract: true if this class is abstract and it is used in hierarchy mappings
+    * discriminator true if the mapped node  requires  an ocm:discriminator node type. This type contains a classname property.
+-->
+<!ELEMENT class-descriptor (implement-descriptor*, field-descriptor*, bean-descriptor*, collection-descriptor*)>
+
+<!ATTLIST class-descriptor
+	className CDATA #REQUIRED
+	jcrType CDATA #IMPLIED
+    jcrSuperTypes CDATA #IMPLIED
+    jcrMixinTypes CDATA #IMPLIED
+    extend CDATA #IMPLIED
+	abstract (true|false) "false"
+	interface (true|false) "false"
+	discriminator (true|false) "true"
+>
+
+<!--
+   Implement descriptor - This descriptor matches to one java  interface implemented by the class descriptor
+   interfaceName : the full interface name
+-->
+<!ELEMENT implement-descriptor EMPTY>
+
+<!ATTLIST implement-descriptor
+	interfaceName CDATA #REQUIRED
+>
+
+<!--
+    Field descriptor - A field descriptor maps one atomic object attribute (primitive types, String, Long, ...)  into a JCR property
+    * fieldName : the field/attribute name
+    * jcrName : the jcr property name (optional). If it is not defined, fieldname is used to specify the jcr property name
+    * id : specifies if the field is an id. Id is optional. If the class contains an id field, some process can run faster
+    * path : specified if the field is the object path
+    * uuid : specified if the field is the object uuid
+    * converter : AtomicTypeConverter class name to used for this field descriptor. If not defined, a default one is provided by default in function of the field type
+    * jcrDefaultValue : if the field is null, this default value will be used, optional
+    * jcrValueConstraints : a comma separated list of acceptable values, optional
+    * jcrType: specifies the JCR property type (supported jcr property types: String , Date , Long , Doube , Boolean , Binary), optional
+    * jcrAutoCreated: specifies if this JCR property will be autocreated (true/false / default is false), optional
+    * jcrMandatory: specifies if this JCR property is mandatory (true/false / default is false), optional
+    * jcrOnParentVersion: specifies how this JCR property acts on inherited versioned node properties (default is COPY), optional
+    * jcrProtected: specifies if this JCR node property is protected (true/false / default is false), optional
+    * jcrMultiple: specifies if this JCR node property is a multivalued property (true/false / default is false), optional
+-->
+
+<!ELEMENT field-descriptor EMPTY>
+<!ATTLIST field-descriptor
+	fieldName CDATA #REQUIRED
+	jcrName CDATA #IMPLIED 
+	id (true | false) "false"
+	path (true | false) "false"
+	uuid (true | false) "false"
+	converter CDATA #IMPLIED
+	jcrDefaultValue CDATA #IMPLIED
+	jcrValueConstraints CDATA #IMPLIED 
+    jcrType (String | Date | Long | Doube | Boolean | Binary) #IMPLIED
+    jcrAutoCreated (true | false) "false"
+    jcrMandatory (true | false) "false"
+    jcrOnParentVersion (COPY | VERSION | INITIALIZE | COMPUTE | IGNORE | ABORT) "COPY"
+    jcrProtected (true | false) "false"
+    jcrMultiple (true | false) "false"
+>
+
+<!--
+    Bean descriptor - A bean descriptor maps one "complex" object attribute into a JCR node.
+    * fieldName : the field/attribute name
+    * jcrName : the jcr node name (optional). If it is not defined, fieldname is used to specify the jcr node name
+    * proxy : Use lazy loading or not. if true, this attributes is not loaded when the main object is retrieved. it will be loaded when the get method is called.
+    * autoRetrieve : If false, the bean associated to this descriptor is not retrieved when the main ojbect is retrieved
+    * autoUpdate : If false, the bean associated to this descriptor is not updated when the main ojbect is updated
+    * autoInsert : If false, the bean associated to this descriptor is not inserted  when the main ojbect is inserted    
+    * converter: fully qualified name of the converter class to be used (default is ObjectConverterImpl)
+    * jcrType: defines the node type, optional, nt:unstructured by default
+    * jcrAutoCreated (boolean) default is "false"
+    * jcrMandatory (boolean) default is "false"
+    * jcrOnParentVersion default is "COPY"
+    * jcrProtected (boolean) default is "false"
+    * jcrSameNameSiblings (boolean) default is "false"   
+-->
+<!ELEMENT bean-descriptor EMPTY>
+<!ATTLIST bean-descriptor
+	fieldName CDATA #REQUIRED
+	jcrName CDATA #IMPLIED 
+	proxy (true | false) "false" 
+	autoRetrieve (true|false) "true"
+	autoUpdate (true|false) "true"
+	autoInsert (true|false) "true"	
+	converter CDATA #IMPLIED
+	jcrType CDATA #IMPLIED
+    jcrAutoCreated (true | false) "false"   
+    jcrMandatory (true | false) "false"
+    jcrOnParentVersion (COPY | VERSION | INITIALIZE | COMPUTE | IGNORE | ABORT) "COPY"
+    jcrProtected (true | false) "false"
+    jcrSameNameSiblings (true | false) "false"         
+>
+
+<!--
+    Collection descriptor - A collection descriptor maps one object attribute based on a collection (or a map) into a series of JCR nodes.
+    * fieldName : the field/attribute name (matching to the collection attribute), this attribute is used only with some collection converters.
+    * jcrName : the jcr property name (optional). If it is not defined, fieldname is used to specify the jcr node name
+    * proxy : Use lazy loading or not. if true, this attributes is not loaded when the main object is retrieve. it will be loaded when the get method is called.
+    * autoRetrieve : If false, the collection associated to this descriptor is not retrieved when the main ojbect is retrieved
+    * autoUpdate : If false, the collection associated to this descriptor is not updated when the main ojbect is updated
+    * autoInsert : If false, the collection associated to this descriptor is not inserted  when the main ojbect is inserted    
+    * elementClassName : contains a fully qualified class name.	This class is the Object type of the persistent collection elements.
+    * collectionClassName : contains a fully qualified class name. This class must be the Java type of the Collection attribute. 	
+                            This attribute must only specified if the attribute type is not a java.util.Collection (or subclass). 
+                            The declared class must implement ManageableCollection to let the ocm engine handles this type of collection.
+    * collectionConverter : The class name converter. This is the collection mapping strategy to used. 
+                            If this attribute is not specify, the default collection mapping strategy is used (DefaultCollectionConverterImpl)                            
+    * jcrType: defines the node type used for the collection elements, optional
+    * jcrAutoCreated (boolean) default is "false"
+    * jcrMandatory (boolean) default is "false"
+    * jcrOnParentVersion default is "COPY"
+    * jcrProtected (boolean) default is "false"
+    * jcrSameNameSiblings (boolean) default is "false"
+-->
+
+<!ELEMENT collection-descriptor EMPTY>
+<!ATTLIST collection-descriptor
+	fieldName CDATA #REQUIRED
+	jcrName CDATA #IMPLIED 
+	proxy (true | false) "false"
+	autoRetrieve (true|false) "true"
+	autoUpdate (true|false) "true"
+	autoInsert (true|false) "true"	
+	elementClassName CDATA #IMPLIED
+	collectionClassName CDATA #IMPLIED
+	collectionConverter CDATA #IMPLIED
+	jcrType CDATA #IMPLIED
+    jcrAutoCreated (true | false) "false"   
+    jcrMandatory (true | false) "false"
+    jcrOnParentVersion (COPY | VERSION | INITIALIZE | COMPUTE | IGNORE | ABORT) "COPY"
+    jcrProtected (true | false) "false"
+    jcrSameNameSiblings (true | false) "false"	
+>

Added: jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.5.dtd
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.5.dtd?rev=699067&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.5.dtd (added)
+++ jackrabbit/trunk/jackrabbit-ocm/src/main/resources/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.5.dtd Thu Sep 25 12:56:35 2008
@@ -0,0 +1,168 @@
+<!--
+/*
+ * 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.
+ */
+-->
+
+<!ELEMENT jackrabbit-ocm (class-descriptor*)>
+
+<!ATTLIST jackrabbit-ocm package CDATA #IMPLIED>
+
+<!--
+    Class descriptor - Each class descriptor describes the mapping strategy used for one a java class
+    * className : the class name
+    * jcrType : the primary jcr node type, optional, default is nt:unstructured
+    * jcrSuperTypes : the jcr super types, optional
+    * jcrMixinTypes: the jcr mixin types (comma separated list) (optional)
+    * extends: name of super class (optional)
+    * abstract: true if this class is abstract and it is used in hierarchy mappings
+    * discriminator true if the mapped node  requires  an ocm:discriminator node type. This type contains a classname property.
+-->
+<!ELEMENT class-descriptor (implement-descriptor*, field-descriptor*, bean-descriptor*, collection-descriptor*)>
+
+<!ATTLIST class-descriptor
+	className CDATA #REQUIRED
+	jcrType CDATA #IMPLIED
+    jcrSuperTypes CDATA #IMPLIED
+    jcrMixinTypes CDATA #IMPLIED
+    extend CDATA #IMPLIED
+	abstract (true|false) "false"
+	interface (true|false) "false"
+	discriminator (true|false) "true"
+>
+
+<!--
+   Implement descriptor - This descriptor matches to one java  interface implemented by the class descriptor
+   interfaceName : the full interface name
+-->
+<!ELEMENT implement-descriptor EMPTY>
+
+<!ATTLIST implement-descriptor
+	interfaceName CDATA #REQUIRED
+>
+
+<!--
+    Field descriptor - A field descriptor maps one atomic object attribute (primitive types, String, Long, ...)  into a JCR property
+    * fieldName : the field/attribute name
+    * jcrName : the jcr property name (optional). If it is not defined, fieldname is used to specify the jcr property name
+    * id : specifies if the field is an id. Id is optional. If the class contains an id field, some process can run faster
+    * path : specified if the field is the object path
+    * uuid : specified if the field is the object uuid
+    * converter : AtomicTypeConverter class name to used for this field descriptor. If not defined, a default one is provided by default in function of the field type
+    * jcrDefaultValue : if the field is null, this default value will be used, optional
+    * jcrValueConstraints : a comma separated list of acceptable values, optional
+    * jcrType: specifies the JCR property type (supported jcr property types: String , Date , Long , Doube , Boolean , Binary), optional
+    * jcrAutoCreated: specifies if this JCR property will be autocreated (true/false / default is false), optional
+    * jcrMandatory: specifies if this JCR property is mandatory (true/false / default is false), optional
+    * jcrOnParentVersion: specifies how this JCR property acts on inherited versioned node properties (default is COPY), optional
+    * jcrProtected: specifies if this JCR node property is protected (true/false / default is false), optional
+    * jcrMultiple: specifies if this JCR node property is a multivalued property (true/false / default is false), optional
+-->
+
+<!ELEMENT field-descriptor EMPTY>
+<!ATTLIST field-descriptor
+	fieldName CDATA #REQUIRED
+	jcrName CDATA #IMPLIED 
+	id (true | false) "false"
+	path (true | false) "false"
+	uuid (true | false) "false"
+	converter CDATA #IMPLIED
+	jcrDefaultValue CDATA #IMPLIED
+	jcrValueConstraints CDATA #IMPLIED 
+    jcrType (String | Date | Long | Doube | Boolean | Binary) #IMPLIED
+    jcrAutoCreated (true | false) "false"
+    jcrMandatory (true | false) "false"
+    jcrOnParentVersion (COPY | VERSION | INITIALIZE | COMPUTE | IGNORE | ABORT) "COPY"
+    jcrProtected (true | false) "false"
+    jcrMultiple (true | false) "false"
+>
+
+<!--
+    Bean descriptor - A bean descriptor maps one "complex" object attribute into a JCR node.
+    * fieldName : the field/attribute name
+    * jcrName : the jcr node name (optional). If it is not defined, fieldname is used to specify the jcr node name
+    * proxy : Use lazy loading or not. if true, this attributes is not loaded when the main object is retrieved. it will be loaded when the get method is called.
+    * autoRetrieve : If false, the bean associated to this descriptor is not retrieved when the main ojbect is retrieved
+    * autoUpdate : If false, the bean associated to this descriptor is not updated when the main ojbect is updated
+    * autoInsert : If false, the bean associated to this descriptor is not inserted  when the main ojbect is inserted    
+    * converter: fully qualified name of the converter class to be used (default is ObjectConverterImpl)
+    * jcrType: defines the node type, optional, nt:unstructured by default
+    * jcrAutoCreated (boolean) default is "false"
+    * jcrMandatory (boolean) default is "false"
+    * jcrOnParentVersion default is "COPY"
+    * jcrProtected (boolean) default is "false"
+    * jcrSameNameSiblings (boolean) default is "false"   
+-->
+<!ELEMENT bean-descriptor EMPTY>
+<!ATTLIST bean-descriptor
+	fieldName CDATA #REQUIRED
+	jcrName CDATA #IMPLIED 
+	proxy (true | false) "false" 
+	autoRetrieve (true|false) "true"
+	autoUpdate (true|false) "true"
+	autoInsert (true|false) "true"	
+	converter CDATA #IMPLIED
+	jcrType CDATA #IMPLIED
+    jcrAutoCreated (true | false) "false"   
+    jcrMandatory (true | false) "false"
+    jcrOnParentVersion (COPY | VERSION | INITIALIZE | COMPUTE | IGNORE | ABORT) "COPY"
+    jcrProtected (true | false) "false"
+    jcrSameNameSiblings (true | false) "false"         
+>
+
+<!--
+    Collection descriptor - A collection descriptor maps one object attribute based on a collection (or a map) into a series of JCR nodes.
+    * fieldName : the field/attribute name (matching to the collection attribute), this attribute is used only with some collection converters.
+    * jcrName : the jcr property name (optional). If it is not defined, fieldname is used to specify the jcr node name
+    * proxy : Use lazy loading or not. if true, this attributes is not loaded when the main object is retrieve. it will be loaded when the get method is called.
+    * autoRetrieve : If false, the collection associated to this descriptor is not retrieved when the main ojbect is retrieved
+    * autoUpdate : If false, the collection associated to this descriptor is not updated when the main ojbect is updated
+    * autoInsert : If false, the collection associated to this descriptor is not inserted  when the main ojbect is inserted    
+    * elementClassName : contains a fully qualified class name.	This class is the Object type of the persistent collection elements.
+    * collectionClassName : contains a fully qualified class name. This class must be the Java type of the Collection attribute. 	
+                            This attribute must only specified if the attribute type is not a java.util.Collection (or subclass). 
+                            The declared class must implement ManageableCollection to let the ocm engine handles this type of collection.
+    * collectionConverter : The class name converter. This is the collection mapping strategy to used. 
+                            If this attribute is not specify, the default collection mapping strategy is used (DefaultCollectionConverterImpl)                            
+    * jcrElementName : contains the desired name used for the jcr node corresponding to each element in the collection (optional). 
+                       If this element is not defined, a default value ("collection-element") will assigned to the element node name. 
+    * jcrType: defines the node type used for the collection elements, optional
+    * jcrAutoCreated (boolean) default is "false"
+    * jcrMandatory (boolean) default is "false"
+    * jcrOnParentVersion default is "COPY"
+    * jcrProtected (boolean) default is "false"
+    * jcrSameNameSiblings (boolean) default is "false"
+-->
+
+<!ELEMENT collection-descriptor EMPTY>
+<!ATTLIST collection-descriptor
+	fieldName CDATA #REQUIRED
+	jcrName CDATA #IMPLIED 
+	proxy (true | false) "false"
+	autoRetrieve (true|false) "true"
+	autoUpdate (true|false) "true"
+	autoInsert (true|false) "true"	
+	elementClassName CDATA #IMPLIED
+	collectionClassName CDATA #IMPLIED
+	collectionConverter CDATA #IMPLIED
+	jcrElementName CDATA #IMPLIED
+	jcrType CDATA #IMPLIED
+    jcrAutoCreated (true | false) "false"   
+    jcrMandatory (true | false) "false"
+    jcrOnParentVersion (COPY | VERSION | INITIALIZE | COMPUTE | IGNORE | ABORT) "COPY"
+    jcrProtected (true | false) "false"
+    jcrSameNameSiblings (true | false) "false"	
+>