|
4 | 4 |
|
5 | 5 | <xsd:annotation>
|
6 | 6 | <xsd:documentation>
|
7 |
| - This schema specifies the configuration options for LSC implementations. |
| 7 | + This schema specifies the configuration options for LSC synchronizations tasks. |
8 | 8 | </xsd:documentation>
|
9 | 9 | </xsd:annotation>
|
10 | 10 |
|
|
13 | 13 | <xsd:documentation>Definition for the ldap connections.</xsd:documentation>
|
14 | 14 | </xsd:annotation>
|
15 | 15 | <xsd:all>
|
16 |
| - <xsd:element name="id" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
17 |
| - <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
18 |
| - <xsd:element name="password" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
19 |
| - |
20 |
| - <xsd:element name="authentication" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
21 |
| - <xsd:element name="url" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
22 |
| - <xsd:element name="referral" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
23 |
| - <xsd:element name="derefAliases" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
24 |
| - <xsd:element name="version" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
25 |
| - |
26 |
| - <xsd:element name="pageSize" type="xsd:integer" minOccurs="1" maxOccurs="1"/> |
27 |
| - <xsd:element name="factory" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
28 |
| - <xsd:element name="tlsActivated" type="xsd:boolean" minOccurs="1" maxOccurs="1" default="false"/> |
29 | 16 | </xsd:all>
|
| 17 | + <xsd:attribute name="class" type="xsd:string"> |
| 18 | + <xsd:annotation> |
| 19 | + <xsd:documentation> |
| 20 | + Java class type or shortname to identify implementation |
| 21 | + </xsd:documentation> |
| 22 | + </xsd:annotation> |
| 23 | + </xsd:attribute> |
30 | 24 | <xsd:attribute name="id" type="xsd:integer">
|
31 | 25 | <xsd:annotation>
|
32 | 26 | <xsd:documentation>
|
|
37 | 31 | </xsd:attribute>
|
38 | 32 | </xsd:complexType>
|
39 | 33 |
|
40 |
| - <xsd:complexType name="databaseConnectionType"> |
| 34 | + <xsd:complexType name="connectionType"> |
41 | 35 | <xsd:annotation>
|
42 |
| - <xsd:documentation>Definition for the SQL database connections.</xsd:documentation> |
| 36 | + <xsd:documentation>Definition for the connection options.</xsd:documentation> |
43 | 37 | </xsd:annotation>
|
44 |
| - <xsd:all> |
| 38 | + <xsd:sequence> |
45 | 39 | <xsd:element name="id" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
46 | 40 | <xsd:element name="url" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
47 | 41 | <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
48 | 42 | <xsd:element name="password" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
49 |
| - <xsd:element name="driver" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
50 |
| - </xsd:all> |
| 43 | + <!-- Extensibility --> |
| 44 | + <xsd:any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> |
| 45 | + </xsd:sequence> |
| 46 | + <xsd:attribute name="class" type="xsd:string"> |
| 47 | + <xsd:annotation> |
| 48 | + <xsd:documentation> |
| 49 | + Java class type to identify implementation. Known shortnames are : ldapConnection, sqlConnection. |
| 50 | + You may add yours by adding the XStreamAlias annotation to your new connection class. |
| 51 | + </xsd:documentation> |
| 52 | + </xsd:annotation> |
| 53 | + </xsd:attribute> |
51 | 54 | <xsd:attribute name="id" type="xsd:integer">
|
52 | 55 | <xsd:annotation>
|
53 | 56 | <xsd:documentation>
|
|
58 | 61 | </xsd:attribute>
|
59 | 62 | </xsd:complexType>
|
60 | 63 |
|
| 64 | + <!-- SQL connection type specific parameters --> |
| 65 | + <xsd:element name="driver" type="xsd:string"/> |
| 66 | + |
| 67 | + <!-- LDAP connection type specific parameter --> |
| 68 | + <xsd:element name="authentication" type="xsd:string" /> |
| 69 | + <xsd:element name="referral" type="xsd:string" /> |
| 70 | + <xsd:element name="derefAliases" type="xsd:string" /> |
| 71 | + <xsd:element name="version" type="xsd:string" /> |
| 72 | + <xsd:element name="pageSize" type="xsd:integer" /> |
| 73 | + <xsd:element name="factory" type="xsd:string" /> |
| 74 | + <xsd:element name="tlsActivated" type="xsd:boolean" default="false"/> |
| 75 | + |
61 | 76 | <xsd:complexType name="encryptionType">
|
62 | 77 | <xsd:annotation>
|
63 | 78 | <xsd:documentation>Definition for the encryption properties.</xsd:documentation>
|
|
76 | 91 | </xsd:attribute>
|
77 | 92 | </xsd:complexType>
|
78 | 93 |
|
79 |
| - <xsd:complexType name="ldifAuditType"> |
| 94 | + <xsd:complexType name="auditLogRef"> |
80 | 95 | <xsd:annotation>
|
81 |
| - <xsd:documentation>Definition for the LDIF audit properties.</xsd:documentation> |
| 96 | + <xsd:documentation>Definition for the auditLog node used in task.</xsd:documentation> |
82 | 97 | </xsd:annotation>
|
83 |
| - <xsd:all> |
84 |
| - <xsd:element name="appendToLogFile" type="xsd:boolean" minOccurs="1" maxOccurs="1" default="true"/> |
85 |
| - <xsd:element name="logOnlyLdif" type="xsd:boolean" minOccurs="1" maxOccurs="1" default="false"/> |
86 |
| - </xsd:all> |
| 98 | + <xsd:attribute name="class" type="xsd:string"> |
| 99 | + <xsd:annotation> |
| 100 | + <xsd:documentation> |
| 101 | + Alias to identify the connection class |
| 102 | + </xsd:documentation> |
| 103 | + </xsd:annotation> |
| 104 | + </xsd:attribute> |
| 105 | + <xsd:attribute name="reference" type="xsd:integer"> |
| 106 | + <xsd:annotation> |
| 107 | + <xsd:documentation> |
| 108 | + Mandatory attribute that will reference the corresponding audit |
| 109 | + </xsd:documentation> |
| 110 | + </xsd:annotation> |
| 111 | + </xsd:attribute> |
| 112 | + </xsd:complexType> |
| 113 | + |
| 114 | + <xsd:complexType name="auditType"> |
| 115 | + <xsd:annotation> |
| 116 | + <xsd:documentation>Definition for the generic audit properties.</xsd:documentation> |
| 117 | + </xsd:annotation> |
| 118 | + <xsd:sequence> |
| 119 | + <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
| 120 | + <xsd:element name="appendToLogFile" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="true"/> |
| 121 | + <!-- Extensibility --> |
| 122 | + <xsd:any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> |
| 123 | + </xsd:sequence> |
| 124 | + <xsd:attribute name="class" type="xsd:string"> |
| 125 | + <xsd:annotation> |
| 126 | + <xsd:documentation> |
| 127 | + Java class type or short name to identify implementation. |
| 128 | + Known shortcuts are csvAudit or ldifAudit. |
| 129 | + </xsd:documentation> |
| 130 | + </xsd:annotation> |
| 131 | + </xsd:attribute> |
87 | 132 | <xsd:attribute name="id" type="xsd:integer">
|
88 | 133 | <xsd:annotation>
|
89 | 134 | <xsd:documentation>
|
90 | 135 | Optional attribute added by XStream parser / dumper. You can leave it or remove it but if you copy a node, do not use the same number twice.
|
91 | 136 | </xsd:documentation>
|
92 | 137 | </xsd:annotation>
|
93 | 138 | </xsd:attribute>
|
| 139 | + <!-- <xsd:element name="logOnlyLdif" type="xsd:boolean" minOccurs="1" maxOccurs="1" default="false"/> --> |
94 | 140 | </xsd:complexType>
|
| 141 | + |
| 142 | + <!-- --> |
| 143 | + <xsd:element name="attributes" type="xsd:string" /> |
| 144 | + <xsd:element name="separator" type="xsd:string" /> |
| 145 | + <xsd:element name="append" type="xsd:boolean" /> |
| 146 | + <xsd:element name="outputHeader" type="xsd:boolean"/> |
| 147 | + <xsd:element name="operations" type="xsd:string"/> |
| 148 | + <xsd:element name="taskNames"> |
| 149 | + <xsd:complexType><xsd:sequence><xsd:element name="taskName" type="xsd:string" /></xsd:sequence></xsd:complexType> |
| 150 | + </xsd:element> |
95 | 151 |
|
96 | 152 | <xsd:complexType name="csvAuditType">
|
97 | 153 | <xsd:annotation>
|
98 | 154 | <xsd:documentation>Definition for the CSV audit properties.</xsd:documentation>
|
99 | 155 | </xsd:annotation>
|
100 | 156 | <xsd:sequence>
|
101 |
| - <xsd:element name="attributes" type="xsd:string" minOccurs="0" maxOccurs="1"/> |
102 |
| - <xsd:element name="seperator" type="xsd:string" minOccurs="1" maxOccurs="1"/> |
103 |
| - <xsd:element name="append" type="xsd:boolean" minOccurs="1" maxOccurs="1"/> |
104 |
| - <xsd:element name="outputHeader" type="xsd:boolean" minOccurs="1" maxOccurs="1" default="true"/> |
105 |
| - <xsd:element name="taskNames" minOccurs="0" maxOccurs="1"> |
106 |
| - <xsd:complexType><xsd:sequence><xsd:element name="taskName" type="xsd:string" /></xsd:sequence></xsd:complexType> |
107 |
| - </xsd:element> |
108 | 157 | </xsd:sequence>
|
109 | 158 | <xsd:attribute name="id" type="xsd:integer">
|
110 | 159 | <xsd:annotation>
|
|
127 | 176 | </xsd:documentation>
|
128 | 177 | </xsd:annotation>
|
129 | 178 | </xsd:attribute>
|
130 |
| - <xsd:attribute name="id" type="xsd:integer"> |
| 179 | + <xsd:attribute name="reference" type="xsd:integer"> |
131 | 180 | <xsd:annotation>
|
132 | 181 | <xsd:documentation>
|
133 |
| - Optional attribute added by XStream parser / dumper. You can leave it or remove it but if you copy a node, do not use the same number twice. |
| 182 | + Mandatory attribute that will reference the corresponding connection |
134 | 183 | </xsd:documentation>
|
135 | 184 | </xsd:annotation>
|
136 | 185 | </xsd:attribute>
|
|
157 | 206 | <xsd:sequence>
|
158 | 207 | <xsd:element name="conditions" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
159 | 208 | </xsd:sequence>
|
| 209 | + <xsd:attribute name="class" type="xsd:string"> |
| 210 | + <xsd:annotation> |
| 211 | + <xsd:documentation> |
| 212 | + Java class type to identify implementation. Known shortnames are : ldapConnection, Connection. |
| 213 | + You may add yours by adding the XStreamAlias annotation to your new connection class. |
| 214 | + </xsd:documentation> |
| 215 | + </xsd:annotation> |
| 216 | + </xsd:attribute> |
160 | 217 | <xsd:attribute name="id" type="xsd:integer">
|
161 | 218 | <xsd:annotation>
|
162 | 219 | <xsd:documentation>
|
|
172 | 229 | <xsd:element name="bean" type="xsd:string" minOccurs="1" maxOccurs="1"/>
|
173 | 230 | <xsd:element name="cleanHook" type="xsd:string" minOccurs="0" maxOccurs="1"/>
|
174 | 231 | <xsd:element name="syncHook" type="xsd:string" minOccurs="0" maxOccurs="1"/>
|
175 |
| - <xsd:element name="destination" type="serviceType" minOccurs="1" maxOccurs="1"/> |
176 |
| - <xsd:element name="source" type="serviceType" minOccurs="1" maxOccurs="1"/> |
| 232 | + <xsd:element name="destinationService" type="serviceType" minOccurs="1" maxOccurs="1"/> |
| 233 | + <xsd:element name="sourceService" type="serviceType" minOccurs="1" maxOccurs="1"/> |
177 | 234 | <xsd:element name="syncOptions" type="syncOptionsType" minOccurs="1" maxOccurs="1"/>
|
| 235 | + <xsd:element name="auditLog" type="auditLogRef" minOccurs="0"/> |
178 | 236 | </xsd:all>
|
179 | 237 | <xsd:attribute name="id" type="xsd:integer">
|
180 | 238 | <xsd:annotation>
|
|
196 | 254 | <xsd:element name="connections">
|
197 | 255 | <xsd:complexType>
|
198 | 256 | <xsd:sequence>
|
199 |
| - <xsd:element name="databaseConnection" type="databaseConnectionType" minOccurs="0" maxOccurs="unbounded" /> |
200 |
| - <xsd:element name="ldapConnection" type="ldapConnectionType" minOccurs="0" maxOccurs="unbounded"/> |
| 257 | + <xsd:element name="connection" type="connectionType" minOccurs="0" maxOccurs="unbounded" /> |
201 | 258 | </xsd:sequence>
|
202 | 259 | <xsd:attribute name="id" type="xsd:integer">
|
203 | 260 | <xsd:annotation>
|
|
207 | 264 | </xsd:annotation>
|
208 | 265 | </xsd:attribute>
|
209 | 266 | </xsd:complexType>
|
| 267 | + <!-- Connection id uniqueness |
| 268 | + <xs:key name="uniqueConnectionIdentifier"> |
| 269 | + <xs:selector xpath="connection"/> |
| 270 | + <xs:field xpath="@name"/> |
| 271 | + </xs:key> --> |
210 | 272 | </xsd:element>
|
211 | 273 | <xsd:element name="audits">
|
212 | 274 | <xsd:complexType>
|
213 | 275 | <xsd:sequence>
|
214 |
| - <xsd:element name="ldif" type="ldifAuditType" minOccurs="0" maxOccurs="unbounded" /> |
215 |
| - <xsd:element name="csv" type="csvAuditType" minOccurs="0" maxOccurs="unbounded"/> |
| 276 | + <xsd:element name="audit" type="auditType" minOccurs="0" maxOccurs="unbounded" /> |
216 | 277 | </xsd:sequence>
|
217 | 278 | <xsd:attribute name="id" type="xsd:integer">
|
218 | 279 | <xsd:annotation>
|
|
222 | 283 | </xsd:annotation>
|
223 | 284 | </xsd:attribute>
|
224 | 285 | </xsd:complexType>
|
| 286 | + <!-- Audit name uniqueness |
| 287 | + <xs:key name="uniqueAuditIdentifier"> |
| 288 | + <xs:selector xpath="audit"/> |
| 289 | + <xs:field xpath="@name"/> |
| 290 | + </xs:key> --> |
225 | 291 | </xsd:element>
|
226 | 292 | <xsd:element name="tasks">
|
227 | 293 | <xsd:complexType>
|
|
237 | 303 | </xsd:attribute>
|
238 | 304 | </xsd:complexType>
|
239 | 305 | </xsd:element>
|
240 |
| - <xsd:element name="security" minOccurs="1" maxOccurs="1"> |
| 306 | + <xsd:element name="security" minOccurs="0" maxOccurs="1"> |
241 | 307 | <xsd:complexType>
|
242 | 308 | <xsd:sequence>
|
243 | 309 | <xsd:element name="encryption" type="encryptionType" minOccurs="0" maxOccurs="1" />
|
|
0 commit comments