From b97785a371b09a674dbef8029a99a730ee928e8d Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Wed, 19 Dec 2007 09:55:26 +0000
Subject: [PATCH] Fix for issue 2446 part #1.

---
 opends/resource/admin/admin.xsd |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 117 insertions(+), 2 deletions(-)

diff --git a/opends/resource/admin/admin.xsd b/opends/resource/admin/admin.xsd
index 8a8625c..61e07b3 100644
--- a/opends/resource/admin/admin.xsd
+++ b/opends/resource/admin/admin.xsd
@@ -592,6 +592,66 @@
       </xsd:annotation>
     </xsd:attribute>
   </xsd:complexType>
+  <xsd:complexType name="default-managed-object-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        Specifies the configuration of a default managed object which
+        should be created when a parent managed object is created. For
+        example, creation of a back-end could result in default indexes
+        being created.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="property" minOccurs="0"
+        maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+            Specifies one or more initial values for a property in the
+            default managed object.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="value" minOccurs="1"
+              maxOccurs="unbounded" type="xsd:string">
+              <xsd:annotation>
+                <xsd:documentation>
+                  The string representation of a value of this property.
+                </xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+          </xsd:sequence>
+          <xsd:attribute name="name" type="tns:name-type"
+            use="required">
+            <xsd:annotation>
+              <xsd:documentation>
+                The name of the property.
+              </xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="managed-object-name" type="tns:name-type"
+      use="optional">
+      <xsd:annotation>
+        <xsd:documentation>
+          The type of default managed object to be created. This must be
+          either the type of the managed object referenced by this
+          relation (this is the default behavior) or a sub-type.
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="managed-object-package" type="tns:package-type"
+      use="optional">
+      <xsd:annotation>
+        <xsd:documentation>
+          The package containing the default managed object definition
+          if it is not the same as this managed object's package.
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+  </xsd:complexType>
   <xsd:complexType name="relation-type">
     <xsd:annotation>
       <xsd:documentation>
@@ -657,7 +717,20 @@
               another type of managed object.
             </xsd:documentation>
           </xsd:annotation>
-          <xsd:complexType />
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="default-managed-object"
+                type="tns:default-managed-object-type" minOccurs="0">
+                <xsd:annotation>
+                  <xsd:documentation>
+                    Defines a default managed object configuration which
+                    should be automatically created when the parent
+                    managed object is created.
+                  </xsd:documentation>
+                </xsd:annotation>
+              </xsd:element>
+            </xsd:sequence>
+          </xsd:complexType>
         </xsd:element>
         <xsd:element name="one-to-zero-or-one">
           <xsd:annotation>
@@ -666,7 +739,20 @@
               with another type of managed object.
             </xsd:documentation>
           </xsd:annotation>
-          <xsd:complexType />
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="default-managed-object"
+                type="tns:default-managed-object-type" minOccurs="0">
+                <xsd:annotation>
+                  <xsd:documentation>
+                    Defines a default managed object configuration which
+                    should be automatically created when the parent
+                    managed object is created.
+                  </xsd:documentation>
+                </xsd:annotation>
+              </xsd:element>
+            </xsd:sequence>
+          </xsd:complexType>
         </xsd:element>
         <xsd:element name="one-to-many">
           <xsd:annotation>
@@ -676,6 +762,35 @@
             </xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="default-managed-object" minOccurs="0"
+                maxOccurs="unbounded">
+                <xsd:annotation>
+                  <xsd:documentation>
+                    Defines one or more default managed object
+                    configurations which should be automatically created
+                    when the parent managed object is created.
+                  </xsd:documentation>
+                </xsd:annotation>
+                <xsd:complexType>
+                  <xsd:complexContent>
+                    <xsd:extension
+                      base="tns:default-managed-object-type">
+                      <xsd:attribute name="name" type="xsd:string"
+                        use="required">
+                        <xsd:annotation>
+                          <xsd:documentation>
+                            Specifies the name that should be used to
+                            identify this default managed object
+                            instance.
+                          </xsd:documentation>
+                        </xsd:annotation>
+                      </xsd:attribute>
+                    </xsd:extension>
+                  </xsd:complexContent>
+                </xsd:complexType>
+              </xsd:element>
+            </xsd:sequence>
             <xsd:attribute name="plural-name" type="tns:name-type"
               use="optional">
               <xsd:annotation>

--
Gitblit v1.10.0