View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  package org.kuali.student.r2.lum.clu.service;
16  
17  import org.kuali.rice.core.api.criteria.QueryByCriteria;
18  import org.kuali.student.r2.core.search.service.SearchService;
19  import org.kuali.student.r2.common.dto.ContextInfo;
20  import org.kuali.student.r2.common.dto.StatusInfo;
21  import org.kuali.student.r2.common.dto.ValidationResultInfo;
22  import org.kuali.student.r2.common.exceptions.CircularRelationshipException;
23  import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
24  import org.kuali.student.r2.common.exceptions.DependentObjectsExistException;
25  import org.kuali.student.r2.common.exceptions.DoesNotExistException;
26  import org.kuali.student.r2.common.exceptions.IllegalVersionSequencingException;
27  import org.kuali.student.r2.common.exceptions.InvalidParameterException;
28  import org.kuali.student.r2.common.exceptions.MissingParameterException;
29  import org.kuali.student.r2.common.exceptions.OperationFailedException;
30  import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
31  import org.kuali.student.r2.common.exceptions.ReadOnlyException;
32  import org.kuali.student.r2.common.exceptions.UnsupportedActionException;
33  import org.kuali.student.r2.common.exceptions.VersionMismatchException;
34  import org.kuali.student.r2.core.class1.type.dto.TypeInfo;
35  import org.kuali.student.r2.lum.util.constants.CluServiceConstants;
36  import org.kuali.student.r2.core.versionmanagement.service.VersionManagementService;
37  import org.kuali.student.r2.lum.clu.dto.CluCluRelationInfo;
38  import org.kuali.student.r2.lum.clu.dto.CluInfo;
39  import org.kuali.student.r2.lum.clu.dto.CluLoRelationInfo;
40  import org.kuali.student.r2.lum.clu.dto.CluPublicationInfo;
41  import org.kuali.student.r2.lum.clu.dto.CluResultInfo;
42  import org.kuali.student.r2.lum.clu.dto.CluSetInfo;
43  import org.kuali.student.r2.lum.clu.dto.CluSetTreeViewInfo;
44  
45  import javax.jws.WebParam;
46  import javax.jws.WebService;
47  import javax.jws.soap.SOAPBinding;
48  import java.util.Date;
49  import java.util.List;
50  import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
51  
52  /**
53   * Learning Unit (LU) Service
54   *
55   * @Author Kamal
56   * @version 2.0
57   */
58  @WebService(name = "CluService", targetNamespace = CluServiceConstants.NAMESPACE)
59  @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
60  public interface CluService extends VersionManagementService ,SearchService {
61  
62      /**
63       * Retrieves the list of delivery method types
64       *
65       * @param contextInfo Context information containing the principalId and
66       *                    locale information about the caller of service
67       *                    operation
68       * @return list of delivery method type information
69       * @throws InvalidParameterException invalid contextInfo
70       * @throws MissingParameterException missing contextInfo
71       * @throws OperationFailedException  unable to complete request
72       * @throws PermissionDeniedException authorization failure
73       */
74      public List<TypeInfo> getDeliveryMethodTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
75  
76      /**
77       * Retrieves information about a delivery method type
78       *
79       * @param deliveryMethodTypeKey Key of the Delivery Method Type
80       * @param contextInfo           Context information containing the
81       *                              principalId and locale information about the
82       *                              caller of service operation
83       * @return information about a Delivery Method Type
84       * @throws DoesNotExistException     deliveryMethodType not found
85       * @throws InvalidParameterException invalid contextInfo
86       * @throws MissingParameterException missing deliveryMethodType or
87       *                                   contextInfo
88       * @throws OperationFailedException  unable to complete request
89       * @throws PermissionDeniedException authorization failure
90       */
91      public TypeInfo getDeliveryMethodType(@WebParam(name = "deliveryMethodTypeKey") String deliveryMethodTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
92  
93      /**
94       * Retrieves the list of instructional format types
95       *
96       * @param contextInfo Context information containing the principalId and
97       *                    locale information about the caller of service
98       *                    operation
99       * @return list of instructional format type information
100      * @throws InvalidParameterException invalid contextInfo
101      * @throws MissingParameterException missing contextInfo
102      * @throws OperationFailedException  unable to complete request
103      * @throws PermissionDeniedException authorization failure
104      */
105     public List<TypeInfo> getInstructionalFormatTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
106 
107     /**
108      * Retrieves information about a Instructional Format Type
109      *
110      * @param instructionalFormatTypeKey Key of the Instructional Format Type
111      * @param contextInfo                Context information containing the
112      *                                   principalId and locale information
113      *                                   about the caller of service operation
114      * @return information about a Instructional Format Type
115      * @throws DoesNotExistException     instructionalFormatTypeKey not found
116      * @throws InvalidParameterException invalid contextInfo
117      * @throws MissingParameterException missing instructionalFormatTypeKey or
118      *                                   contextInfo
119      * @throws OperationFailedException  unable to complete request
120      * @throws PermissionDeniedException authorization failure
121      */
122     public TypeInfo getInstructionalFormatType(@WebParam(name = "instructionalFormatTypeKey") String instructionalFormatTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
123 
124     /**
125      * Retrieves the list of LU types
126      *
127      * @param contextInfo Context information containing the principalId and
128      *                    locale information about the caller of service
129      *                    operation
130      * @return list of LU type information
131      * @throws InvalidParameterException invalid contextInfo
132      * @throws MissingParameterException missing contextInfo
133      * @throws OperationFailedException  unable to complete request
134      * @throws PermissionDeniedException authorization failure
135      */
136     public List<TypeInfo> getLuTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
137 
138     /**
139      * Retrieves information about a LU Type
140      *
141      * @param luTypeKey   Key of the LU Type
142      * @param contextInfo Context information containing the principalId and
143      *                    locale information about the caller of service
144      *                    operation
145      * @return information about a LU Type
146      * @throws DoesNotExistException     luTypeKey not found
147      * @throws InvalidParameterException invalid contextInfo
148      * @throws MissingParameterException missing luTypeKey or contextInfo
149      * @throws OperationFailedException  unable to complete request
150      * @throws PermissionDeniedException authorization failure
151      */
152     public TypeInfo getLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
153 
154     /**
155      * Retrieves the list of learning unit code types
156      *
157      * @param contextInfo Context information containing the principalId and
158      *                    locale information about the caller of service
159      *                    operation
160      * @return list of lu code type information
161      * @throws InvalidParameterException invalid contextInfo
162      * @throws MissingParameterException missing contextInfo
163      * @throws OperationFailedException  unable to complete request
164      * @throws PermissionDeniedException authorization failure
165      */
166     public List<TypeInfo> getLuCodeTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
167 
168     /**
169      * Retrieves information about a learning unit code type
170      *
171      * @param luCodeTypeKey Key of the learning unit code type
172      * @param contextInfo   Context information containing the principalId and
173      *                      locale information about the caller of service
174      *                      operation
175      * @return information about a learning unit code type
176      * @throws DoesNotExistException     luCodeTypeKey not found
177      * @throws InvalidParameterException invalid contextInfo
178      * @throws MissingParameterException missing luCodeTypeKey or contextInfo
179      * @throws OperationFailedException  unable to complete request
180      * @throws PermissionDeniedException authorization failure
181      */
182     public TypeInfo getLuCodeType(@WebParam(name = "luCodeTypeKey") String luCodeTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
183 
184     /**
185      * Retrieves the complete list of LU to LU relation types
186      *
187      * @param contextInfo Context information containing the principalId and
188      *                    locale information about the caller of service
189      *                    operation
190      * @return list of LU to LU relation type information
191      * @throws InvalidParameterException invalid contextInfo
192      * @throws MissingParameterException missing contextInfo
193      * @throws OperationFailedException  unable to complete request
194      * @throws PermissionDeniedException authorization failure
195      */
196     public List<TypeInfo> getCluCluRelationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
197 
198     /**
199      * Retrieves the LU to LU relation type
200      *
201      * @param cluCluRelationTypeKey Key of the LU to LU Relation Type
202      * @param contextInfo           Context information containing the
203      *                              principalId and locale information about the
204      *                              caller of service operation
205      * @return LU to LU relation type information
206      * @throws DoesNotExistException     cluCluRelationTypeKey not found
207      * @throws InvalidParameterException invalid contextInfo
208      * @throws MissingParameterException missing cluCluRelationTypeKey or
209      *                                   contextInfo
210      * @throws OperationFailedException  unable to complete request
211      * @throws PermissionDeniedException authorization failure
212      */
213     public TypeInfo getLuLuRelationType(@WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
214 
215     /**
216      * Retrieves the list of allowed relation types between the two specified LU
217      * Types
218      *
219      * @param luTypeKey        Key of the first LU Type
220      * @param relatedLuTypeKey Key of the second LU Type
221      * @param contextInfo      Context information containing the principalId
222      *                         and locale information about the caller of
223      *                         service operation
224      * @return list of LU to LU relation types
225      * @throws DoesNotExistException     luTypeKey, relatedLuTypeKey not found
226      * @throws InvalidParameterException invalid contextInfo
227      * @throws MissingParameterException missing luTypeKey, relatedLuTypeKey or
228      *                                   contextInfo
229      * @throws OperationFailedException  unable to complete request
230      * @throws PermissionDeniedException authorization failure
231      */
232     public List<String> getAllowedLuLuRelationTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "relatedLuTypeKey") String relatedLuTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
233 
234     /**
235      * Retrieves the list of Learning Unit publication types
236      *
237      * @param contextInfo Context information containing the principalId and
238      *                    locale information about the caller of service
239      *                    operation
240      * @return list of Learning Unit publication type information
241      * @throws InvalidParameterException invalid contextInfo
242      * @throws MissingParameterException missing contextInfo
243      * @throws OperationFailedException  unable to complete request
244      * @throws PermissionDeniedException authorization failure
245      */
246     public List<TypeInfo> getLuPublicationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
247 
248     /**
249      * Retrieves information about a publication type
250      *
251      * @param luPublicationTypeKey Key of the Learning Unit Publication Type
252      * @param contextInfo          Context information containing the
253      *                             principalId and locale information about the
254      *                             caller of service operation
255      * @return information about a Learning Unit Publication Type
256      * @throws DoesNotExistException     luPublicationTypeKey not found
257      * @throws InvalidParameterException invalid contextInfo
258      * @throws MissingParameterException missing luPublicationTypeKey or
259      *                                   contextInfo
260      * @throws OperationFailedException  unable to complete request
261      * @throws PermissionDeniedException authorization failure
262      */
263     public TypeInfo getLuPublicationType(@WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
264 
265     /**
266      * Retrieves information about a publication type
267      *
268      * @param luTypeKey   Key of the LU Type
269      * @param contextInfo Context information containing the principalId and
270      *                    locale information about the caller of service
271      *                    operation
272      * @return list of LU publication types
273      * @throws DoesNotExistException     luTypeKey not found
274      * @throws InvalidParameterException invalid contextInfo
275      * @throws MissingParameterException missing luTypeKey or contextInfo
276      * @throws OperationFailedException  unable to complete request
277      * @throws PermissionDeniedException authorization failure
278      */
279     public List<String> getLuPublicationTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
280 
281     /**
282      * Retrieves a list of types for clu result objects.
283      *
284      * @param contextInfo Context information containing the principalId and
285      *                    locale information about the caller of service
286      *                    operation
287      * @return list of clu result type information
288      * @throws InvalidParameterException invalid contextInfo
289      * @throws MissingParameterException missing contextInfo
290      * @throws OperationFailedException  unable to complete request
291      * @throws PermissionDeniedException authorization failure
292      */
293     public List<TypeInfo> getCluResultTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
294 
295     /**
296      * Retrieves information about a publication type
297      *
298      * @param cluResultTypeKey Key of the Canonical Learning Unit Result Type
299      * @param contextInfo      Context information containing the principalId
300      *                         and locale information about the caller of
301      *                         service operation
302      * @return information about a Learning Unit Publication Type
303      * @throws DoesNotExistException     cluResultTypeKey not found
304      * @throws InvalidParameterException invalid contextInfo
305      * @throws MissingParameterException missing cluResultTypeKey or
306      *                                   contextInfo
307      * @throws OperationFailedException  unable to complete request
308      * @throws PermissionDeniedException authorization failure
309      */
310     public TypeInfo getCluResultType(@WebParam(name = "cluResultTypeKey") String cluResultTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
311 
312     /**
313      * Retrieves the list of clu result types which are allowed to be used in
314      * conjunction with a particular lu type.
315      *
316      * @param luTypeKey   luTypeKey
317      * @param contextInfo Context information containing the principalId and
318      *                    locale information about the caller of service
319      *                    operation
320      * @return list of clu result types
321      * @throws DoesNotExistException     luTypeKey not found
322      * @throws InvalidParameterException invalid contextInfo
323      * @throws MissingParameterException missing luTypeKey or contextInfo
324      * @throws OperationFailedException  unable to complete request
325      * @throws PermissionDeniedException authorization failure
326      */
327     public List<TypeInfo> getCluResultTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
328 
329     /**
330      * Retrieves a list of result usage types
331      *
332      * @param contextInfo Context information containing the principalId and
333      *                    locale information about the caller of service
334      *                    operation
335      * @return list of result usage type information
336      * @throws InvalidParameterException invalid contextInfo
337      * @throws MissingParameterException missing contextInfo
338      * @throws OperationFailedException  unable to complete request
339      * @throws PermissionDeniedException authorization failure
340      */
341     public List<TypeInfo> getResultUsageTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
342 
343     /**
344      * Retrieves information about a Result Usage Type
345      *
346      * @param resultUsageTypeKey Key of the Result Usage Type
347      * @param contextInfo        Context information containing the principalId
348      *                           and locale information about the caller of
349      *                           service operation
350      * @return information about a Result Usage Type
351      * @throws DoesNotExistException     resultUsageTypeKey not found
352      * @throws InvalidParameterException invalid contextInfo
353      * @throws MissingParameterException missing resultUsageTypeKey or
354      *                                   contextInfo
355      * @throws OperationFailedException  unable to complete request
356      * @throws PermissionDeniedException authorization failure
357      */
358     public TypeInfo getResultUsageType(@WebParam(name = "resultUsageTypeKey") String resultUsageTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
359 
360     /**
361      * Retrieves the list of result usage types which are allowed to be used in
362      * conjunction with an lu type.
363      *
364      * @param luTypeKey   luTypeKey
365      * @param contextInfo Context information containing the principalId and
366      *                    locale information about the caller of service
367      *                    operation
368      * @return list of result usage types
369      * @throws DoesNotExistException     luTypeKey not found
370      * @throws InvalidParameterException invalid contextInfo
371      * @throws MissingParameterException missing luTypeKey or contextInfo
372      * @throws OperationFailedException  unable to complete request
373      * @throws PermissionDeniedException authorization failure
374      */
375     public List<String> getAllowedResultUsageTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
376 
377     /**
378      * Retrieves the list of result component types which are allowed to be used
379      * in conjunction with result usage type.
380      *
381      * @param resultUsageTypeKey resultUsageTypeKey
382      * @param contextInfo        Context information containing the principalId
383      *                           and locale information about the caller of
384      *                           service operation
385      * @return list of result component types
386      * @throws DoesNotExistException     resultUsageTypeKey not found
387      * @throws InvalidParameterException invalid contextInfo
388      * @throws MissingParameterException missing resultUsageTypeKey or
389      *                                   contextInfo
390      * @throws OperationFailedException  unable to complete request
391      * @throws PermissionDeniedException authorization failure
392      */
393     public List<String> getAllowedResultComponentTypesForResultUsageType(@WebParam(name = "resultUsageTypeKey") String resultUsageTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
394 
395     /**
396      * Retrieves the complete list of CLU to LO relation types
397      *
398      * @param contextInfo Context information containing the principalId and
399      *                    locale information about the caller of service
400      *                    operation
401      * @return list of CLU to LO relation type information
402      * @throws InvalidParameterException invalid contextInfo
403      * @throws MissingParameterException missing contextInfo
404      * @throws OperationFailedException  unable to complete request
405      * @throws PermissionDeniedException authorization failure
406      */
407     public List<TypeInfo> getCluLoRelationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
408 
409     /**
410      * Retrieves information for a specified CLU to LO relation type
411      *
412      * @param cluLoRelationTypeKey Key of the CLU to LO Relation Type
413      * @param contextInfo          Context information containing the
414      *                             principalId and locale information about the
415      *                             caller of service operation
416      * @return CLU to LO relation type information
417      * @throws DoesNotExistException     cluLoRelationTypeKey not found
418      * @throws InvalidParameterException invalid contextInfo
419      * @throws MissingParameterException missing cluLoRelationTypeKey or
420      *                                   contextInfo
421      * @throws OperationFailedException  unable to complete request
422      * @throws PermissionDeniedException authorization failure
423      */
424     public TypeInfo getCluLoRelationType(@WebParam(name = "cluLoRelationTypeKey") String cluLoRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
425 
426     /**
427      * Retrieves the list of CLU LO relation types which are allowed to be used
428      * in conjunction with an lu type.
429      *
430      * @param luTypeKey   luTypeKey
431      * @param contextInfo Context information containing the principalId and
432      *                    locale information about the caller of service
433      *                    operation
434      * @return list of clu lo relation types
435      * @throws DoesNotExistException     luTypeKey not found
436      * @throws InvalidParameterException invalid contextInfo
437      * @throws MissingParameterException missing luTypeKey or contextInfo
438      * @throws OperationFailedException  unable to complete request
439      * @throws PermissionDeniedException authorization failure
440      */
441     public List<String> getAllowedCluLoRelationTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
442 
443     /**
444      * Retrieves the list of CLU set types known by the service
445      *
446      * @param contextInfo Context information containing the principalId and
447      *                    locale information about the caller of service
448      *                    operation
449      * @return list of CLU set type information
450      * @throws InvalidParameterException invalid contextInfo
451      * @throws MissingParameterException missing contextInfo
452      * @throws OperationFailedException  unable to complete request
453      * @throws PermissionDeniedException authorization failure
454      */
455     public List<TypeInfo> getCluSetTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
456 
457     /**
458      * Retrieves information about a specified CLU set type
459      *
460      * @param cluSetTypeKey Key of the CLU set type
461      * @param contextInfo   Context information containing the principalId and
462      *                      locale information about the caller of service
463      *                      operation
464      * @return information about a CLU set type
465      * @throws DoesNotExistException     cluSetTypeKey not found
466      * @throws InvalidParameterException invalid contextInfo
467      * @throws MissingParameterException missing cluSetTypeKey or contextInfo
468      * @throws OperationFailedException  unable to complete request
469      * @throws PermissionDeniedException authorization failure
470      */
471     public TypeInfo getCluSetType(@WebParam(name = "cluSetTypeKey") String cluSetTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
472 
473     /**
474      * Retrieves core information about a CLU
475      *
476      * @param cluId       identifier of the CLU
477      * @param contextInfo Context information containing the principalId and
478      *                    locale information about the caller of service
479      *                    operation
480      * @return information about a CLU
481      * @throws DoesNotExistException     cluId not found
482      * @throws InvalidParameterException invalid contextInfo
483      * @throws MissingParameterException missing cluId or contextInfo
484      * @throws OperationFailedException  unable to complete request
485      * @throws PermissionDeniedException authorization failure
486      */
487     public CluInfo getClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
488 
489     /**
490      * Retrieves information about CLUs from a list of Ids
491      *
492      * @param cluIds      List of CLU identifiers
493      * @param contextInfo Context information containing the principalId and
494      *                    locale information about the caller of service
495      *                    operation
496      * @return information a list of CLUs
497      * @throws DoesNotExistException     One or more cluIds not found
498      * @throws InvalidParameterException invalid contextInfo
499      * @throws MissingParameterException missing cluIds or contextInfo
500      * @throws OperationFailedException  unable to complete request
501      * @throws PermissionDeniedException authorization failure
502      */
503     public List<CluInfo> getClusByIds(@WebParam(name = "cluIds") List<String> cluIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
504 
505     /**
506      * Retrieves the list of CLUs for the specified LU Type and state
507      *
508      * @param luTypeKey   Type of the CLUs to retrieve
509      * @param luState     State of the CLUs to retrieve.
510      * @param contextInfo Context information containing the principalId and
511      *                    locale information about the caller of service
512      *                    operation
513      * @return list of CLU information
514      * @throws DoesNotExistException     luTypeKey or luState not found
515      * @throws InvalidParameterException invalid contextInfo
516      * @throws MissingParameterException missing luTypeKey, luState or
517      *                                   contextInfo
518      * @throws OperationFailedException  unable to complete request
519      * @throws PermissionDeniedException authorization failure
520      */
521     public List<CluInfo> getClusByLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "luState") String luState, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
522 
523     /**
524      * Retrieves the list of CLU Ids for the specified LU Type and state
525      *
526      * @param luTypeKey   Type of the CLUs whose identifiers should be
527      *                    retrieved
528      * @param luState     State of the CLUs whose identifiers should be
529      *                    retrieved
530      * @param contextInfo Context information containing the principalId and
531      *                    locale information about the caller of service
532      *                    operation
533      * @return list of CLU identifiers
534      * @throws DoesNotExistException     luType or luState not found
535      * @throws InvalidParameterException invalid contextInfo
536      * @throws MissingParameterException missing luType, luState or contextInfo
537      * @throws OperationFailedException  unable to complete request
538      * @throws PermissionDeniedException authorization failure
539      */
540     public List<String> getCluIdsByLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "luState") String luState, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
541 
542     /**
543      * Retrieves the list of allowed relation types between the two specified
544      * CLUs
545      *
546      * @param cluId        identifier of the first CLU
547      * @param relatedCluId identifier of the second CLU
548      * @param contextInfo  Context information containing the principalId and
549      *                     locale information about the caller of service
550      *                     operation
551      * @return list of LU to LU relation types
552      * @throws DoesNotExistException     cluId, relatedCluId not found
553      * @throws InvalidParameterException invalid contextInfo
554      * @throws MissingParameterException missing cluId, relatedCluId or
555      *                                   contextInfo
556      * @throws OperationFailedException  unable to complete request
557      * @throws PermissionDeniedException authorization failure
558      */
559     public List<String> getAllowedCluCluRelationTypesByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
560 
561     /**
562      * Retrieves the list of CLU information for the CLUs related to a specified
563      * CLU Id with a certain LU to LU relation type (getRelatedClusByClu from
564      * the other direction)
565      *
566      * @param relatedCluId          identifier of the child or To CLU
567      * @param cluCLuRelationTypeKey the LU to LU relation type
568      * @param contextInfo           Context information containing the
569      *                              principalId and locale information about the
570      *                              caller of service operation
571      * @return list of CLU information
572      * @throws DoesNotExistException     relatedCluId, cluCLuRelationTypeKey not
573      *                                   found
574      * @throws InvalidParameterException invalid contextInfo
575      * @throws MissingParameterException missing relatedCluId, cluCLuRelationTypeKey
576      *                                   or contextInfo
577      * @throws OperationFailedException  unable to complete request
578      * @throws PermissionDeniedException authorization failure
579      */
580     public List<CluInfo> getClusByRelatedCluAndRelationType(@WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCLuRelationTypeKey") String cluCLuRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
581 
582     /**
583      * Retrieves the list of CLU Ids for the specified related CLU Id and LU to
584      * LU relation type (getRelatedCluIdsByCluAndRelationType from the other
585      * direction)
586      *
587      * @param relatedCluId          identifier of the child or To CLU
588      * @param cluCluRelationTypeKey the LU to LU relation type
589      * @param contextInfo           Context information containing the
590      *                              principalId and locale information about the
591      *                              caller of service operation
592      * @return list of CLU identifiers
593      * @throws DoesNotExistException     relatedCluId or cluCluRelationTypeKey
594      *                                   not found
595      * @throws InvalidParameterException invalid contextInfo
596      * @throws MissingParameterException missing relatedCluId, cluCluRelationTypeKey
597      *                                   or contextInfo
598      * @throws OperationFailedException  unable to complete request
599      * @throws PermissionDeniedException authorization failure
600      */
601     public List<String> getCluIdsByRelatedCluAndRelationType(@WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
602 
603     /**
604      * Retrieves the list of related CLU information for the specified CLU Id
605      * and LU to LU relation type (getClusByRelation from the other direction)
606      *
607      * @param cluId                 identifier of the parent or From CLU
608      * @param cluCluRelationTypeKey the LU to LU relation type
609      * @param contextInfo           Context information containing the
610      *                              principalId and locale information about the
611      *                              caller of service operation
612      * @return list of CLU information
613      * @throws DoesNotExistException     cluId or cluCluRelationTypeKey not
614      *                                   found
615      * @throws InvalidParameterException invalid contextInfo
616      * @throws MissingParameterException missing cluId, cluCluRelationTypeKey or
617      *                                   contextInfo
618      * @throws OperationFailedException  unable to complete request
619      * @throws PermissionDeniedException authorization failure
620      */
621     public List<CluInfo> getRelatedClusByCluAndRelationType(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
622 
623     /**
624      * Retrieves the list of related CLU Ids for the specified CLU Id and LU to
625      * LU relation type (getCluIdsByRelatedCluAndCluCluRelationType from the
626      * other direction)
627      *
628      * @param cluId                 identifier of the parent or From CLU
629      * @param cluCluRelationTypeKey the LU to LU relation type
630      * @param contextInfo           Context information containing the
631      *                              principalId and locale information about the
632      *                              caller of service operation
633      * @return list of CLU identifiers
634      * @throws DoesNotExistException     cluId, cluCluRelationTypeKey not found
635      * @throws InvalidParameterException invalid contextInfo
636      * @throws MissingParameterException missing cluId, cluCluRelationTypeKey
637      * @throws OperationFailedException  unable to complete request
638      * @throws PermissionDeniedException authorization failure
639      */
640     public List<String> getRelatedCluIdsByCluAndRelationType(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
641 
642     /**
643      * Retrieves the relationship information between CLUs for a particular
644      * Relation instance
645      *
646      * @param cluCluRelationId identifier of the CLU to CLU relation
647      * @param contextInfo      Context information containing the principalId
648      *                         and locale information about the caller of
649      *                         service operation
650      * @return information on the relation between two CLUs
651      * @throws DoesNotExistException     cluCluRelationId not found
652      * @throws InvalidParameterException invalid contextInfo
653      * @throws MissingParameterException missing cluCluRelationId or
654      *                                   contextInfo
655      * @throws OperationFailedException  unable to complete request
656      * @throws PermissionDeniedException authorization failure
657      */
658     public CluCluRelationInfo getCluCluRelation(@WebParam(name = "cluCluRelationId") String cluCluRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
659 
660     /**
661      *  Retrieves a list of cluCluRelations from a list of cluCluRelation Ids.
662      *  The returned list may be in any order and if duplicate Ids are supplied, a unique set may or may not be returned.
663      *
664      * @param cluCluRelationIds a list of cluCluRelation identifiers
665      * @param contextInfo      Context information containing the principalId
666      *                         and locale information about the caller of
667      *                         service operation
668      * @return CluCluRelationInfo        a list of cluCluRelations
669      * @throws DoesNotExistException     an cluCluRelation in the list was not found
670      * @throws InvalidParameterException contextInfo is not valid
671      * @throws MissingParameterException cluCluRelations, an Id in the cluCluRelationIds, or contextInfo is missing or null
672      * @throws OperationFailedException  unable to complete request
673      * @throws PermissionDeniedException an authorization failure occurred
674      */
675     public List<CluCluRelationInfo> getCluCluRelationsByIds(@WebParam(name = "cluCluRelationIds") List<String> cluCluRelationIds, @WebParam(name = "contextInfo") ContextInfo contextInfo )
676             throws DoesNotExistException,
677             InvalidParameterException,
678             MissingParameterException,
679             OperationFailedException,
680             PermissionDeniedException;
681 
682     /**
683      * Retrieves the list of relationship information for the specified CLU
684      *
685      * @param cluId       identifier of the parent or From CLU
686      * @param contextInfo Context information containing the principalId and
687      *                    locale information about the caller of service
688      *                    operation
689      * @return list of CLU to CLU relation information
690      * @throws DoesNotExistException     cluId not found
691      * @throws InvalidParameterException invalid contextInfo
692      * @throws MissingParameterException missing cluId or contextInfo
693      * @throws OperationFailedException  unable to complete request
694      * @throws PermissionDeniedException authorization failure
695      */
696     public List<CluCluRelationInfo> getCluCluRelationsByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
697 
698     /**
699      * Retrieves a list of publication objects for a particular clu
700      *
701      * @param cluId       clu identifier
702      * @param contextInfo Context information containing the principalId and
703      *                    locale information about the caller of service
704      *                    operation
705      * @return list of publication objects used by the specified clu
706      * @throws DoesNotExistException     cluId not found
707      * @throws InvalidParameterException invalid contextInfo
708      * @throws MissingParameterException missing cluId or contextInfo
709      * @throws OperationFailedException  unable to complete request
710      * @throws PermissionDeniedException authorization failure
711      */
712     public List<CluPublicationInfo> getCluPublicationsByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
713 
714     /**
715      * Retrieves a list of publication objects of a particular Type
716      *
717      * @param luPublicationTypeKey luPublicationType identifier
718      * @param contextInfo          Context information containing the
719      *                             principalId and locale information about the
720      *                             caller of service operation
721      * @return list of CLU Publication objects using the specified type
722      * @throws DoesNotExistException     luPublicationType not found
723      * @throws InvalidParameterException invalid contextInfo
724      * @throws MissingParameterException missing luPublicationTypeKey or
725      *                                   contextInfo
726      * @throws OperationFailedException  unable to complete request
727      * @throws PermissionDeniedException authorization failure
728      */
729     public List<CluPublicationInfo> getCluPublicationsByType(@WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
730 
731     /**
732      * Retrieves an LU publication object by its identifier
733      *
734      * @param cluPublicationId CLU publication identifier
735      * @param contextInfo      Context information containing the principalId
736      *                         and locale information about the caller of
737      *                         service operation
738      * @return CLU Publication information
739      * @throws DoesNotExistException     cluPublicationId not found
740      * @throws InvalidParameterException invalid contextInfo
741      * @throws MissingParameterException missing cluPublicationId or
742      *                                   contextInfo
743      * @throws OperationFailedException  unable to complete request
744      * @throws PermissionDeniedException authorization failure
745      */
746     public CluPublicationInfo getCluPublication(@WebParam(name = "cluPublicationId") String cluPublicationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
747 
748     /**
749      * Retrieves a list of cluPublications from a list of cluPublication Ids.
750      * The returned list may be in any order and if duplicate Ids are supplied, a unique set may or may not be returned.
751      *
752      * @param cluPublicationIds  a list of cluPublication identifiers
753      * @param contextInfo      Context information containing the principalId
754      *                         and locale information about the caller of
755      *                         service operation
756      * @return CluPublicationInfo        a list of cluPublications
757      * @throws DoesNotExistException     an cluPublicationId in the list was not found
758      * @throws InvalidParameterException contextInfo is not valid
759      * @throws MissingParameterException cluPublicationIds, an Id in the cluPublicationIds, or contextInfo is missing or null
760      * @throws OperationFailedException  unable to complete request
761      * @throws PermissionDeniedException an authorization failure occurred
762      */
763     public List<CluPublicationInfo> getCluPublicationsByIds(@WebParam(name = "cluPublicationIds") List<String> cluPublicationIds, @WebParam(name = "contextInfo") ContextInfo contextInfo )
764             throws DoesNotExistException,
765             InvalidParameterException,
766             MissingParameterException,
767             OperationFailedException,
768             PermissionDeniedException;
769 
770 
771     /**
772      * Retrieves information about a Clu Result
773      *
774      * @param cluResultId identifier of the Clu Result
775      * @param contextInfo Context information containing the principalId and
776      *                    locale information about the caller of service
777      *                    operation
778      * @return information about a Clu Result
779      * @throws DoesNotExistException     cluResultId not found
780      * @throws InvalidParameterException invalid contextInfo
781      * @throws MissingParameterException missing cluResultId or contextInfo
782      * @throws OperationFailedException  unable to complete request
783      * @throws PermissionDeniedException authorization failure
784      */
785     public CluResultInfo getCluResult(@WebParam(name = "cluResultId") String cluResultId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
786 
787     /**
788      * Retrieves a list of cluResults from a list of cluResult Ids.
789      * The returned list may be in any order and if duplicate Ids are supplied, a unique set may or may not be returned.
790      *
791      * @param cluResultIds identifier of the cluResult
792      * @param contextInfo Context information containing the principalId and
793      *                    locale information about the caller of service
794      *                    operation
795      * @return CluResultInfo             a list of cluResults
796      * @throws DoesNotExistException     an cluResultId in the list was not found
797      * @throws InvalidParameterException contextInfo is not valid
798      * @throws MissingParameterException cluResultIds, an Id in the cluResultIds, or contextInfo is missing or null
799      * @throws OperationFailedException  unable to complete request
800      * @throws PermissionDeniedException an authorization failure occurred
801      */
802     public List<CluResultInfo> getCluResultsByIds(@WebParam(name = "cluResultIds") List<String> cluResultIds, @WebParam(name = "contextInfo") ContextInfo contextInfo )
803             throws DoesNotExistException,
804             InvalidParameterException,
805             MissingParameterException,
806             OperationFailedException,
807             PermissionDeniedException;
808 
809     /**
810      * Retrieves the cluResult for a particular clu
811      *
812      * @param cluId       clu identifier
813      * @param contextInfo Context information containing the principalId and
814      *                    locale information about the caller of service
815      *                    operation
816      * @return result information for a clu
817      * @throws DoesNotExistException     cluId not found
818      * @throws InvalidParameterException invalid contextInfo
819      * @throws MissingParameterException missing cluId or contextInfo
820      * @throws OperationFailedException  unable to complete request
821      * @throws PermissionDeniedException authorization failure
822      */
823     public List<CluResultInfo> getCluResultByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
824 
825     /**
826      * Retrieves the list of cluResults for the cluIds specified
827      *
828      * @param cluIds       list of clu identifier's
829      * @param contextInfo Context information containing the principalId and
830      *                    locale information about the caller of service
831      *                    operation
832      * @return list of CluResults corresponding to the cluIds specified
833      * @throws DoesNotExistException     one or more of the cludIds does not exist.
834      * @throws InvalidParameterException invalid contextInfo
835      * @throws MissingParameterException missing cluIds or contextInfo
836      * @throws OperationFailedException  unable to complete request
837      * @throws PermissionDeniedException authorization failure
838      */
839     public List<CluResultInfo> getCluResultsByClus(@WebParam(name = "cluIds") List<String> cluIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
840 
841 
842     /**
843      * Retrieves the list of clu Ids with the results of the specified usage
844      * type. This would for example allow requests for all clus which have a
845      * final grade.
846      *
847      * @param resultUsageTypeKey identifier of the result usage type
848      * @param contextInfo        Context information containing the principalId
849      *                           and locale information about the caller of
850      *                           service operation
851      * @return list of clu Ids
852      * @throws DoesNotExistException     resultUsageType not found
853      * @throws InvalidParameterException invalid resultUsageTypeKey
854      * @throws MissingParameterException missing resultUsageTypeKey
855      * @throws OperationFailedException  unable to complete request
856      */
857     public List<String> getCluIdsByResultUsageType(@WebParam(name = "resultUsageTypeKey") String resultUsageTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
858 
859     /**
860      * Retrieves the list of clu Ids which use a particular result component
861      *
862      * @param resultComponentId identifier of the result component
863      * @param contextInfo       Context information containing the principalId
864      *                          and locale information about the caller of
865      *                          service operation
866      * @return list of clu Ids
867      * @throws DoesNotExistException     resultComponent not found
868      * @throws InvalidParameterException invalid resultComponentId
869      * @throws MissingParameterException missing resultComponentId
870      * @throws OperationFailedException  unable to complete request
871      */
872     public List<String> getCluIdsByResultComponent(@WebParam(name = "resultComponentId") String resultComponentId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
873 
874     /**
875      * Retrieve information on a CLU LO Relation.
876      *
877      * @param cluLoRelationId Identifier of the CLU LO Relation
878      * @param contextInfo     Context information containing the principalId and
879      *                        locale information about the caller of service
880      *                        operation
881      * @return The retrieved CLU LO Relation information
882      * @throws DoesNotExistException     cluLoRelationId not found
883      * @throws InvalidParameterException invalid contextInfo
884      * @throws MissingParameterException missing cluLoRelationId or contextInfo
885      * @throws OperationFailedException  unable to complete request
886      * @throws PermissionDeniedException authorization failure
887      */
888     public CluLoRelationInfo getCluLoRelation(@WebParam(name = "cluLoRelationId") String cluLoRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
889 
890     /**
891      * Retrieves a list of cluLoRelations from a list of cluLoRelation Ids.
892      * The returned list may be in any order and if duplicate Ids are supplied, a unique set may or may not be returned.
893      *
894      * @param cluLoRelationIds a list of cluLoRelations
895      * @param contextInfo     Context information containing the principalId and
896      *                        locale information about the caller of service
897      *                        operation
898      * @return CluLoRelationInfo        a list of cluLoRelations
899      * @throws DoesNotExistException    an cluLoRelationId in the list was not found
900      * @throws InvalidParameterException contextInfo is not valid
901      * @throws MissingParameterException cluLoRelationIds, an Id in the cluLoRelationIds, or contextInfo is missing or null
902      * @throws OperationFailedException  unable to complete request
903      * @throws PermissionDeniedException an authorization failure occurred
904      */
905     public List<CluLoRelationInfo> getCluLoRelationsByIds(@WebParam(name = "cluLoRelationIds") List<String> cluLoRelationIds, @WebParam(name = "contextInfo") ContextInfo contextInfo )
906             throws DoesNotExistException,
907             InvalidParameterException,
908             MissingParameterException,
909             OperationFailedException,
910             PermissionDeniedException;
911 
912     /**
913      * Retrieves the list of canonical learning unit to learning objective
914      * relationships for a given CLU.
915      *
916      * @param cluId       Identifier for the CLU
917      * @param contextInfo Context information containing the principalId and
918      *                    locale information about the caller of service
919      *                    operation
920      * @return List of canonical learning unit to learning objective
921      *         relationships
922      * @throws DoesNotExistException     cluId not found
923      * @throws InvalidParameterException invalid contextInfo
924      * @throws MissingParameterException missing cluId or contextInfo
925      * @throws OperationFailedException  unable to complete request
926      * @throws PermissionDeniedException authorization failure
927      */
928     public List<CluLoRelationInfo> getCluLoRelationsByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
929 
930     /**
931      * Retrieves the list of CLU identifiers associated with a given learning
932      * objective identifier.
933      *
934      * @param loId        Identifier for the learning objective
935      * @param contextInfo Context information containing the principalId and
936      *                    locale information about the caller of service
937      *                    operation
938      * @return List of CLU LO Relations
939      * @throws DoesNotExistException     loId not found
940      * @throws InvalidParameterException invalid contextInfo
941      * @throws MissingParameterException missing loId or contextInfo
942      * @throws OperationFailedException  unable to complete request
943      * @throws PermissionDeniedException authorization failure
944      */
945     public List<CluLoRelationInfo> getCluLoRelationsByLo(@WebParam(name = "loId") String loId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
946 
947     /**
948      * Retrieves the list of Resource requirements for the specified CLU
949      *
950      * @param cluId       Unique identifier for the CLU
951      * @param contextInfo Context information containing the principalId and
952      *                    locale information about the caller of service
953      *                    operation
954      * @return List of resource requirements
955      * @throws DoesNotExistException     cluId not found
956      * @throws InvalidParameterException invalid contextInfo
957      * @throws MissingParameterException missing cluId or contextInfo
958      * @throws OperationFailedException  unable to complete request
959      * @throws PermissionDeniedException authorization failure
960      */
961     public List<String> getResourceRequirementsForClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
962 
963     /**
964      * Retrieve information on a CLU set. This information should be about the
965      * set itself, and in the case of a dynamic CLU set, should include the
966      * criteria used to generate the set.
967      *
968      * @param cluSetId    Identifier of the CLU set
969      * @param contextInfo Context information containing the principalId and
970      *                    locale information about the caller of service
971      *                    operation
972      * @return The retrieved CLU set information
973      * @throws DoesNotExistException     cluSetId not found
974      * @throws InvalidParameterException invalid contextInfo
975      * @throws MissingParameterException missing cluSetId or contextInfo
976      * @throws OperationFailedException  unable to complete request
977      * @throws PermissionDeniedException authorization failure
978      */
979     public CluSetInfo getCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
980 
981     /**
982      * Retrieve information on a CLU set and its sub clu set fully expanded.
983      *
984      * @param cluSetId    Identifier of the CLU set
985      * @param contextInfo Context information containing the principalId and
986      *                    locale information about the caller of service
987      *                    operation
988      * @return The retrieved CLU set tree view information
989      * @throws DoesNotExistException     cluSetId not found
990      * @throws InvalidParameterException invalid contextInfo
991      * @throws MissingParameterException missing cluSetId or contextInfo
992      * @throws OperationFailedException  unable to complete request
993      * @throws PermissionDeniedException authorization failure
994      */
995     public CluSetTreeViewInfo getCluSetTreeView(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
996 
997     /**
998      * Retrieve information on CLU sets from a list of cluSet Ids.
999      *
1000      * @param cluSetIds   List of identifiers of CLU sets
1001      * @param contextInfo Context information containing the principalId and
1002      *                    locale information about the caller of service
1003      *                    operation
1004      * @return The retrieved list of CLU set information
1005      * @throws DoesNotExistException     One or more cluSets not found
1006      * @throws InvalidParameterException invalid contextInfo
1007      * @throws MissingParameterException missing cluSetIds or contextInfo
1008      * @throws OperationFailedException  unable to complete request
1009      * @throws PermissionDeniedException authorization failure
1010      */
1011     public List<CluSetInfo> getCluSetsByIds(@WebParam(name = "cluSetIds") List<String> cluSetIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1012 
1013     /**
1014      * Retrieve the list of CLU Set Ids within a CLU Set
1015      *
1016      * @param cluSetId    Identifier of the CLU set
1017      * @param contextInfo Context information containing the principalId and
1018      *                    locale information about the caller of service
1019      *                    operation
1020      * @return The retrieved list of CLU Set Ids within the specified CLU set
1021      * @throws DoesNotExistException     cluSet not found
1022      * @throws InvalidParameterException invalid contextInfo
1023      * @throws MissingParameterException missing cluSetId or contextInfo
1024      * @throws OperationFailedException  unable to complete request
1025      * @throws PermissionDeniedException authorization failure
1026      */
1027     public List<String> getCluSetIdsFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1028 
1029     /**
1030      * Check if the given CluSet is dynamic
1031      *
1032      * @param cluSetId    Identifier of the CLU set
1033      * @param contextInfo Context information containing the principalId and
1034      *                    locale information about the caller of service
1035      *                    operation
1036      * @return The retrieved list of CLU Set Ids within the specified CLU set
1037      * @throws DoesNotExistException     cluSetId not found
1038      * @throws InvalidParameterException invalid contextInfo
1039      * @throws MissingParameterException missing cluSetId or contextInfo
1040      * @throws OperationFailedException  unable to complete request
1041      * @throws PermissionDeniedException authorization failure
1042      */
1043     public Boolean isCluSetDynamic(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1044 
1045     /**
1046      * Retrieves the list of CLUs in a CLU set. This only retrieves the direct
1047      * members.
1048      *
1049      * @param cluSetId    Identifier of the CLU set
1050      * @param contextInfo Context information containing the principalId and
1051      *                    locale information about the caller of service
1052      *                    operation
1053      * @return The retrieved list of information on the CLUs within the CLU set
1054      *         (flattened and de-duped)
1055      * @throws DoesNotExistException     cluSetId not found
1056      * @throws InvalidParameterException invalid contextInfo
1057      * @throws MissingParameterException missing cluSetId or contextInfo
1058      * @throws OperationFailedException  unable to complete request
1059      * @throws PermissionDeniedException authorization failure
1060      */
1061     public List<CluInfo> getClusFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1062 
1063     /**
1064      * Retrieves the list of CLU Identifiers within a CLU Set. This only
1065      * retrieves the direct members.
1066      *
1067      * @param cluSetId    Identifier of the CLU set
1068      * @param contextInfo Context information containing the principalId and
1069      *                    locale information about the caller of service
1070      *                    operation
1071      * @return The retrieved list of CLU Ids within the specified CLU set
1072      *         (flattened and de-duped)
1073      * @throws DoesNotExistException     cluSetId not found
1074      * @throws InvalidParameterException invalid contextInfo
1075      * @throws MissingParameterException missing cluSetId or contextInfo
1076      * @throws OperationFailedException  unable to complete request
1077      * @throws PermissionDeniedException authorization failure
1078      */
1079     public List<String> getCluIdsFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1080 
1081     /**
1082      * Retrieves the full list of CLUs in this CLU set or any cluset that is
1083      * included within that.
1084      *
1085      * @param cluSetId    Identifier of the CLU set
1086      * @param contextInfo Context information containing the principalId and
1087      *                    locale information about the caller of service
1088      *                    operation
1089      * @return The retrieved list of information on the CLUs
1090      * @throws DoesNotExistException     cluSet not found
1091      * @throws InvalidParameterException invalid contextInfo
1092      * @throws MissingParameterException missing cluSetId or contextInfo
1093      * @throws OperationFailedException  unable to complete request
1094      * @throws PermissionDeniedException authorization failure
1095      */
1096     public List<CluInfo> getAllClusInCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1097 
1098     /**
1099      * Retrieves the list of CLU Identifiers within a CLU Set or any cluset that
1100      * is included within that.
1101      *
1102      * @param cluSetId    Identifier of the CLU set
1103      * @param contextInfo Context information containing the principalId and
1104      *                    locale information about the caller of service
1105      *                    operation
1106      * @return The retrieved list of CLU Ids within the specified CLU set
1107      * @throws DoesNotExistException     cluSetId not found
1108      * @throws InvalidParameterException invalid contextInfo
1109      * @throws MissingParameterException missing cluSetId or contextInfo
1110      * @throws OperationFailedException  unable to complete request
1111      * @throws PermissionDeniedException authorization failure
1112      */
1113     public List<String> getAllCluIdsInCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1114 
1115     /**
1116      * Checks if a CLU is a member of a CLU set or any contained CLU set
1117      *
1118      * @param cluId       Identifier of the CLU to check
1119      * @param cluSetId    Identifier of the CLU set
1120      * @param contextInfo Context information containing the principalId and
1121      *                    locale information about the caller of service
1122      *                    operation
1123      * @return True if the CLU is a member of the CLU Set
1124      * @throws DoesNotExistException     cluId, cluSetId not found
1125      * @throws InvalidParameterException invalid contextInfo
1126      * @throws MissingParameterException missing cluId, cluSetId or contextInfo
1127      * @throws OperationFailedException  unable to complete request
1128      * @throws PermissionDeniedException authorization failure
1129      */
1130     public Boolean isCluInCluSet(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1131 
1132     /**
1133      * Validates a CLU. Depending on the value of validationType, this
1134      * validation could be limited to tests on just the current object and its
1135      * directly contained sub-objects or expanded to perform all tests related
1136      * to this object. If an identifier is present for the CLU (and/or one of
1137      * its contained sub-objects) and a record is found for that identifier, the
1138      * validation checks if the CLU can be shifted to the new values. If an
1139      * identifier is not present or a record cannot be found for the identifier,
1140      * it is assumed that the record does not exist and as such, the checks
1141      * performed will be much shallower, typically mimicking those performed by
1142      * setting the validationType to the current object.
1143      *
1144      * @param validationTypeKey identifier of the extent of validation
1145      * @param cluInfo           CLU information to be tested.
1146      * @param contextInfo       Context information containing the principalId
1147      *                          and locale information about the caller of
1148      *                          service operation
1149      * @return results from performing the validation
1150      * @throws DoesNotExistException     validationTypeKey not found
1151      * @throws InvalidParameterException invalid cluInfo or contextInfo
1152      * @throws MissingParameterException missing validationTypeKey, cluInfo or
1153      *                                   contextInfo
1154      * @throws OperationFailedException  unable to complete request
1155      * @throws PermissionDeniedException authorization failure
1156      */
1157     public List<ValidationResultInfo> validateClu(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluInfo") CluInfo cluInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1158 
1159     /**
1160      * Creates a new CLU
1161      *
1162      * @param luTypeKey   identifier of the LU Type for the CLU being created
1163      * @param cluInfo     information about the CLU being created
1164      * @param contextInfo Context information containing the principalId and
1165      *                    locale information about the caller of service
1166      *                    operation
1167      * @return the created CLU information
1168      * @throws DataValidationErrorException supplied data is invalid
1169      * @throws DoesNotExistException        luTypeKey not found
1170      * @throws InvalidParameterException    invalid cluInfo or contextInfo
1171      * @throws MissingParameterException    missing luTypeKey, cluInfo
1172      * @throws OperationFailedException     unable to complete request
1173      * @throws PermissionDeniedException    authorization failure
1174      * @throws ReadOnlyException            an attempt at supplying information
1175      *                                      designated as read only
1176      */
1177     public CluInfo createClu(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "cluInfo") CluInfo cluInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
1178 
1179     /**
1180      * Updates an existing CLU
1181      *
1182      * @param cluId       identifier for the CLU to be updated
1183      * @param cluInfo     updated information about the CLU
1184      * @param contextInfo Context information containing the principalId and
1185      *                    locale information about the caller of service
1186      *                    operation
1187      * @return the updated CLU information
1188      * @throws DataValidationErrorException supplied data is invalid
1189      * @throws DoesNotExistException        cluId not found
1190      * @throws InvalidParameterException    invalid cluInfo or contextInfo
1191      * @throws MissingParameterException    missing cluId, cluInfo or
1192      *                                      contextInfo
1193      * @throws OperationFailedException     unable to complete request
1194      * @throws PermissionDeniedException    authorization failure
1195      * @throws ReadOnlyException            an attempt at supplying information
1196      *                                      designated as read only
1197      * @throws VersionMismatchException     an optimistic locking failure or the
1198      *                                      action was attempted on an out of
1199      *                                      date version
1200      */
1201     public CluInfo updateClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluInfo") CluInfo cluInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
1202 
1203     /**
1204      * Deletes an existing CLU
1205      *
1206      * @param cluId       identifier for the CLU to be deleted
1207      * @param contextInfo Context information containing the principalId and
1208      *                    locale information about the caller of service
1209      *                    operation
1210      * @return status of the operation
1211      * @throws DependentObjectsExistException delete would leave orphaned
1212      *                                        objects or violate integrity
1213      *                                        constraints
1214      * @throws DoesNotExistException          cluId not found
1215      * @throws InvalidParameterException      invalid contextInfo
1216      * @throws MissingParameterException      missing cluId or contextInfo
1217      * @throws OperationFailedException       unable to complete request
1218      * @throws PermissionDeniedException      authorization failure
1219      */
1220     public StatusInfo deleteClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DependentObjectsExistException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1221 
1222     /**
1223      * Creates a new CLU version based on the current clu
1224      *
1225      * @param cluId          identifier for the CLU to be versioned
1226      * @param versionComment comment for the current version
1227      * @param contextInfo    Context information containing the principalId and
1228      *                       locale information about the caller of service
1229      *                       operation
1230      * @return the new versioned CLU information
1231      * @throws DataValidationErrorException supplied data is invalid
1232      * @throws DoesNotExistException        cluId not found
1233      * @throws InvalidParameterException    invalid contextInfo
1234      * @throws MissingParameterException    missing cluId, versionComment or
1235      *                                      contextInfo
1236      * @throws OperationFailedException     unable to complete request
1237      * @throws PermissionDeniedException    authorization failure
1238      * @throws ReadOnlyException            an attempt at supplying information
1239      *                                      designated as read only
1240      */
1241     public CluInfo createNewCluVersion(@WebParam(name = "cluId") String cluId,
1242                                        @WebParam(name = "versionComment") String versionComment,
1243                                        @WebParam(name = "contextInfo") ContextInfo contextInfo)
1244             throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
1245 
1246     /**
1247      * Sets a specific version of the Clu as current. The sequence number must
1248      * be greater than the existing current Clu version. This will truncate the
1249      * current version's end date to the currentVersionStart param. If a Clu
1250      * exists which is set to become current in the future, that clu's
1251      * currentVersionStart and CurrentVersionEnd will be nullified. The
1252      * currentVersionStart must be in the future to prevent changing historic
1253      * data.
1254      *
1255      * @param cluVersionId        Version Specific Id of the Clu
1256      * @param currentVersionStart Date when this clu becomes current. Must be in
1257      *                            the future and be after the most current clu's
1258      *                            start date.
1259      * @param contextInfo         Context information containing the principalId
1260      *                            and locale information about the caller of
1261      *                            service operation
1262      * @return status of the operation
1263      * @throws DataValidationErrorException supplied data is invalid
1264      * @throws DoesNotExistException        cluVersionId not found
1265      * @throws InvalidParameterException    invalid contextInfo
1266      * @throws MissingParameterException    missing cluVersionId, previousState,
1267      *                                      newState
1268      * @throws IllegalVersionSequencingException a Clu with higher sequence number
1269      *                                      from the one provided is marked
1270      *                                      current
1271      * @throws OperationFailedException     unable to complete request
1272      * @throws PermissionDeniedException    authorization failure
1273      */
1274     public StatusInfo setCurrentCluVersion(@WebParam(name = "cluVersionId") String cluVersionId, @WebParam(name = "currentVersionStart") Date currentVersionStart, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException, OperationFailedException, PermissionDeniedException;
1275 
1276     /**
1277      * Updates the state of the specified CLU
1278      *
1279      * @param cluId       identifier for the CLU to be updated
1280      * @param luState     new state for the CLU. Value is expected to be
1281      *                    constrained to those in the luState enumeration.
1282      * @param contextInfo Context information containing the principalId and
1283      *                    locale information about the caller of service
1284      *                    operation
1285      * @return the updated CLU information
1286      * @throws DataValidationErrorException supplied data is invalid
1287      * @throws DoesNotExistException        cluId not found
1288      * @throws InvalidParameterException    invalid contextInfo
1289      * @throws MissingParameterException    missing cluId, luState or
1290      *                                      contextInfo
1291      * @throws OperationFailedException     unable to complete request
1292      * @throws PermissionDeniedException    authorization failure
1293      * @throws ReadOnlyException            an attempt at supplying information
1294      *                                      designated as read only
1295      * @throws VersionMismatchException     an optimistic locking failure or the
1296      *                                      action was attempted on an out of
1297      *                                      date version
1298      */
1299     public CluInfo updateCluState(@WebParam(name = "cluId") String cluId, @WebParam(name = "luState") String luState, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
1300 
1301     /**
1302      * Validates a cluCluRelation. Depending on the value of validationType,
1303      * this validation could be limited to tests on just the current object and
1304      * its directly contained sub-objects or expanded to perform all tests
1305      * related to this object. If an identifier is present for the
1306      * cluCluRelation (and/or one of its contained sub-objects) and a record is
1307      * found for that identifier, the validation checks if the relationship can
1308      * be shifted to the new values. If an identifier is not present or a record
1309      * cannot be found for the identifier, it is assumed that the record does
1310      * not exist and as such, the checks performed will be much shallower,
1311      * typically mimicking those performed by setting the validationType to the
1312      * current object.
1313      *
1314      * @param validationTypeKey     identifier of the extent of validation
1315      * @param cluId                 identifier of the first CLU in the
1316      *                              relationship - The From or Parent of the
1317      *                              relation
1318      * @param relatedCluId          identifier of the second CLU in the
1319      *                              relationship to be related to - the To or
1320      *                              Child of the Relation
1321      * @param cluCluRelationTypeKey the CLU to CLU relationship type of the
1322      *                              relationship
1323      * @param cluCluRelationInfo    cluCluRelation information to be tested.
1324      * @param contextInfo           Context information containing the
1325      *                              principalId and locale information about the
1326      *                              caller of service operation
1327      * @return results from performing the validation
1328      * @throws DoesNotExistException     validationTypeKey, cluId, relatedCluId
1329      *                                   or cluCluRelationTypeKey  not found
1330      * @throws InvalidParameterException invalid cluCluRelationInfo or
1331      *                                   contextInfo
1332      * @throws MissingParameterException missing validationTypeKey, cluId,
1333      *                                   relatedCluId, cluCluRelationTypeKey or
1334      *                                   cluCluRelationInfo or contextInfo
1335      * @throws OperationFailedException  unable to complete request
1336      * @throws PermissionDeniedException authorization failure
1337      */
1338     public List<ValidationResultInfo> validateCluCluRelation(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluId") String cluId, @WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "cluCluRelationInfo") CluCluRelationInfo cluCluRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1339 
1340     /**
1341      * Create a directional relationship between two CLUs
1342      *
1343      * @param cluId                 identifier of the first CLU in the
1344      *                              relationship - The From or Parent of the
1345      *                              relation
1346      * @param relatedCluId          identifier of the second CLU in the
1347      *                              relationship to be related to - the To or
1348      *                              Child of the Relation
1349      * @param cluCluRelationTypeKey the LU to LU relationship type of the
1350      *                              relationship
1351      * @param cluCluRelationInfo    information about the relationship between
1352      *                              the two CLUs
1353      * @param contextInfo           Context information containing the
1354      *                              principalId and locale information about the
1355      *                              caller of service operation
1356      * @return the created CLU to CLU relation information
1357      * @throws CircularRelationshipException cluId equals relatedCluId
1358      * @throws DataValidationErrorException  One or more values invalid for this
1359      *                                       operation
1360      * @throws DoesNotExistException         cluId, relatedCluId, cluCluRelationTypeKey
1361      *                                       not found
1362      * @throws InvalidParameterException     invalid cluCluRelationInfo or
1363      *                                       contextInfo
1364      * @throws MissingParameterException     missing cluId, relatedCluId,
1365      *                                       cluCluRelationTypeKey, cluCluRelationInfo
1366      *                                       or contextInfo
1367      * @throws OperationFailedException      unable to complete request
1368      * @throws PermissionDeniedException     authorization failure
1369      * @throws ReadOnlyException             an attempt at supplying information
1370      *                                       designated as read only
1371      */
1372     public CluCluRelationInfo createCluCluRelation(@WebParam(name = "cluId") String cluId, @WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "cluCluRelationInfo") CluCluRelationInfo cluCluRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
1373 
1374     /**
1375      * Updates a relationship between two CLUs
1376      *
1377      * @param cluCluRelationId   identifier of the CLU to CLU relation to be
1378      *                           updated
1379      * @param cluCluRelationInfo changed information about the CLU to CLU
1380      *                           relationship
1381      * @param contextInfo        Context information containing the principalId
1382      *                           and locale information about the caller of
1383      *                           service operation
1384      * @return the updated CLU to CLU relation information
1385      * @throws DataValidationErrorException One or more values invalid for this
1386      *                                      operation
1387      * @throws DoesNotExistException        cluCluRelation not found
1388      * @throws InvalidParameterException    invalid cluCluRelationInfo or
1389      *                                      contextInfo
1390      * @throws MissingParameterException    missing cluCluRelationId,
1391      *                                      cluCluRelationInfo or contextInfo
1392      * @throws OperationFailedException     unable to complete request
1393      * @throws PermissionDeniedException    authorization failure
1394      * @throws ReadOnlyException            an attempt at supplying information
1395      *                                      designated as read only
1396      * @throws VersionMismatchException     an optimistic locking failure or the
1397      *                                      action was attempted on an out of
1398      *                                      date version
1399      */
1400     public CluCluRelationInfo updateCluCluRelation(@WebParam(name = "cluCluRelationId") String cluCluRelationId, @WebParam(name = "cluCluRelationInfo") CluCluRelationInfo cluCluRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
1401 
1402     /**
1403      * Deletes a relationship between two CLUs
1404      *
1405      * @param cluCluRelationId identifier of CLU to CLU relationship to delete
1406      * @param contextInfo      Context information containing the principalId
1407      *                         and locale information about the caller of
1408      *                         service operation
1409      * @return status of the operation (success or failure)
1410      * @throws DoesNotExistException     cluCluRelationId not found
1411      * @throws InvalidParameterException invalid contextInfo
1412      * @throws MissingParameterException missing cluCluRelationId or
1413      *                                   contextInfo
1414      * @throws OperationFailedException  unable to complete request
1415      * @throws PermissionDeniedException authorization failure
1416      */
1417     public StatusInfo deleteCluCluRelation(@WebParam(name = "cluCluRelationId") String cluCluRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1418 
1419     /**
1420      * Validates information about publication for a clu. Depending on the value
1421      * of validationTypeKey, this validation could be limited to tests on just
1422      * the current object and its directly contained sub-objects or expanded to
1423      * perform all tests related to this object. If an identifier is present for
1424      * the clu publication object (and/or one of its contained sub-objects) and
1425      * a record is found for that identifier, the validation checks if the clu
1426      * publication object can be shifted to the new values. If an identifier is
1427      * not present or a record cannot be found for the identifier, it is assumed
1428      * that the record does not exist and as such, the checks performed will be
1429      * much shallower, typically mimicking those performed by setting the
1430      * validationTypeKey to the current object.
1431      *
1432      * @param validationTypeKey    identifier of the extent of validation
1433      * @param cluId                identifier of a clu
1434      * @param luPublicationTypeKey type of lu publication
1435      * @param cluPublicationInfo   CLU publication information to be tested.
1436      * @param contextInfo          Context information containing the
1437      *                             principalId and locale information about the
1438      *                             caller of service operation
1439      * @return results from performing the validation
1440      * @throws DoesNotExistException     validationTypeKey, cluId or
1441      *                                   luPublicationTypeKey not found
1442      * @throws InvalidParameterException invalid cluPublicationInfo or
1443      *                                   contextInfo
1444      * @throws MissingParameterException missing validationTypeKey, cluId,
1445      *                                   luPublicationTypeKey, cluPublicationInfo
1446      *                                   or contextInfo
1447      * @throws OperationFailedException  unable to complete request
1448      * @throws PermissionDeniedException authorization failure
1449      */
1450     public List<ValidationResultInfo> validateCluPublication(@WebParam(name = "validationTypeKey") String validationTypeKey,
1451                                                              @WebParam(name = "cluId") String cluId,
1452                                                              @WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey,
1453                                                              @WebParam(name = "cluPublicationInfo") CluPublicationInfo cluPublicationInfo,
1454                                                              @WebParam(name = "contextInfo") ContextInfo contextInfo)
1455             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1456 
1457     /**
1458      * Create a clu publication object, which contains information about
1459      * publication for a clu.
1460      *
1461      * @param cluId                identifier of a clu
1462      * @param luPublicationTypeKey type of lu publication
1463      * @param cluPublicationInfo   information about publication for a clu
1464      * @param contextInfo          Context information containing the
1465      *                             principalId and locale information about the
1466      *                             caller of service operation
1467      * @return information about the created clu publication object
1468      * @throws DataValidationErrorException supplied data is invalid
1469      * @throws DoesNotExistException        cluId or luPublicationTypeKey not
1470      *                                      found
1471      * @throws InvalidParameterException    invalid cluPublicationInfo or
1472      *                                      contextInfo
1473      * @throws MissingParameterException    missing cluId, luPublicationTypeKey,
1474      *                                      cluPublicationInfo or contextInfo
1475      * @throws OperationFailedException     unable to complete request
1476      * @throws PermissionDeniedException    authorization failure
1477      * @throws ReadOnlyException            an attempt at supplying information
1478      *                                      designated as read only
1479      */
1480     public CluPublicationInfo createCluPublication(@WebParam(name = "cluId") String cluId, @WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey, @WebParam(name = "cluPublicationInfo") CluPublicationInfo cluPublicationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
1481 
1482     /**
1483      * Updates an existing clu publication object
1484      *
1485      * @param cluPublicationId   identifier for the clu publication object to be
1486      *                           updated
1487      * @param cluPublicationInfo updated information about the clu publication
1488      *                           object
1489      * @param contextInfo        Context information containing the principalId
1490      *                           and locale information about the caller of
1491      *                           service operation
1492      * @return the updated clu publication information
1493      * @throws DataValidationErrorException supplied data is invalid
1494      * @throws DoesNotExistException        cluPublicationId not found
1495      * @throws InvalidParameterException    invalid cluPublicationInfo or
1496      *                                      contextInfo
1497      * @throws MissingParameterException    missing cluPublicationId,
1498      *                                      cluPublicationInfo or contextInfo
1499      * @throws OperationFailedException     unable to complete request
1500      * @throws PermissionDeniedException    authorization failure
1501      * @throws ReadOnlyException            an attempt at supplying information
1502      *                                      designated as read only
1503      * @throws VersionMismatchException     The action was attempted on an out
1504      *                                      of date version.
1505      */
1506     public CluPublicationInfo updateCluPublication(@WebParam(name = "cluPublicationId") String cluPublicationId, @WebParam(name = "cluPublicationInfo") CluPublicationInfo cluPublicationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
1507 
1508     /**
1509      * Deletes an existing clu publication object
1510      *
1511      * @param cluPublicationId identifier for the clu publication object to be
1512      *                         deleted
1513      * @param contextInfo      Context information containing the principalId
1514      *                         and locale information about the caller of
1515      *                         service operation
1516      * @return status of the operation
1517      * @throws DependentObjectsExistException delete would leave orphaned
1518      *                                        objects or violate integrity
1519      *                                        constraints
1520      * @throws DoesNotExistException          cluPublicationId not found
1521      * @throws InvalidParameterException      invalid contextInfo
1522      * @throws MissingParameterException      missing cluPublicationId or
1523      *                                        contextInfo
1524      * @throws OperationFailedException       unable to complete request
1525      * @throws PermissionDeniedException      authorization failure
1526      */
1527     public StatusInfo deleteCluPublication(@WebParam(name = "cluPublicationId") String cluPublicationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, DependentObjectsExistException, OperationFailedException, PermissionDeniedException;
1528 
1529     /**
1530      * Validates information about results for a clu. Depending on the value of
1531      * validationTypeKey, this validation could be limited to tests on just the
1532      * current object and its directly contained sub-objects or expanded to
1533      * perform all tests related to this object. If an identifier is present for
1534      * the clu result object (and/or one of its contained sub-objects) and a
1535      * record is found for that identifier, the validation checks if the clu
1536      * result object can be shifted to the new values. If an identifier is not
1537      * present or a record cannot be found for the identifier, it is assumed
1538      * that the record does not exist and as such, the checks performed will be
1539      * much shallower, typically mimicking those performed by setting the
1540      * validationTypeKey to the current object.
1541      *
1542      * @param validationTypeKey identifier of the extent of validation
1543      * @param cluId             identifier of a clu
1544      * @param cluResultTypeKey  type of clu result
1545      * @param cluResultInfo     CLU result information to be tested.
1546      * @param contextInfo       Context information containing the principalId
1547      *                          and locale information about the caller of
1548      *                          service operation
1549      * @return results from performing the validation
1550      * @throws DoesNotExistException     validationTypeKey, cluId or
1551      *                                   cluResultTypeKey not found
1552      * @throws InvalidParameterException invalid cluResultInfo or contextInfo
1553      * @throws MissingParameterException missing validationTypeKey, cluId,
1554      *                                   cluResultTypeKey, cluResultInfo or
1555      *                                   contextInfo
1556      * @throws OperationFailedException  unable to complete request
1557      * @throws PermissionDeniedException authorization failure
1558      */
1559     public List<ValidationResultInfo> validateCluResult(@WebParam(name = "validationTypeKey") String validationTypeKey,
1560                                                         @WebParam(name = "cluId") String cluId,
1561                                                         @WebParam(name = "cluResultTypeKey") String cluResultTypeKey,
1562                                                         @WebParam(name = "cluResultInfo") CluResultInfo cluResultInfo,
1563                                                         @WebParam(name = "contextInfo") ContextInfo contextInfo)
1564             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1565 
1566     /**
1567      * Create a clu result object, which contains information about potential
1568      * results for a clu.
1569      *
1570      * @param cluId            identifier of a clu
1571      * @param cluResultTypeKey type of clu result
1572      * @param cluResultInfo    information about potential results for a clu
1573      * @param contextInfo      Context information containing the principalId
1574      *                         and locale information about the caller of
1575      *                         service operation
1576      * @return information about the created clu result
1577      * @throws DataValidationErrorException supplied data is invalid
1578      * @throws DoesNotExistException        cluId or resultUsageTypeKey not
1579      *                                      found
1580      * @throws InvalidParameterException    invalid cluResultInfo or contextInfo
1581      * @throws MissingParameterException    missing cluId, cluResultTypeKey,
1582      *                                      cluResultInfo or contextInfo
1583      * @throws OperationFailedException     unable to complete request
1584      * @throws PermissionDeniedException    authorization failure
1585      * @throws ReadOnlyException            an attempt at supplying information
1586      *                                      designated as read only
1587      */
1588     public CluResultInfo createCluResult(@WebParam(name = "cluId") String cluId,
1589                                          @WebParam(name = "cluResultTypeKey") String cluResultTypeKey,
1590                                          @WebParam(name = "cluResultInfo") CluResultInfo cluResultInfo,
1591                                          @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
1592 
1593     /**
1594      * Updates an existing clu result
1595      *
1596      * @param cluResultId   identifier for the clu result to be updated
1597      * @param cluResultInfo updated information about the clu result
1598      * @param contextInfo   Context information containing the principalId and
1599      *                      locale information about the caller of service
1600      *                      operation
1601      * @return the updated clu result information
1602      * @throws DataValidationErrorException One or more values invalid for this
1603      *                                      operation
1604      * @throws DoesNotExistException        cluResultId not found
1605      * @throws InvalidParameterException    invalid contextInfo
1606      * @throws MissingParameterException    missing cluResultId, cluResultInfo
1607      *                                      or contextInfo
1608      * @throws OperationFailedException     unable to complete request
1609      * @throws PermissionDeniedException    authorization failure
1610      * @throws ReadOnlyException            an attempt at supplying information
1611      *                                      designated as read only
1612      * @throws VersionMismatchException     an optimistic locking failure or the
1613      *                                      action was attempted on an out of
1614      *                                      date version
1615      */
1616     public CluResultInfo updateCluResult(@WebParam(name = "cluResultId") String cluResultId, @WebParam(name = "cluResultInfo") CluResultInfo cluResultInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
1617 
1618     /**
1619      * Deletes an existing clu result
1620      *
1621      * @param cluResultId identifier for the clu result to be deleted
1622      * @param contextInfo Context information containing the principalId and
1623      *                    locale information about the caller of service
1624      *                    operation
1625      * @return status of the operation
1626      * @throws DoesNotExistException          cluResultId not found
1627      * @throws InvalidParameterException      invalid contextInfo
1628      * @throws MissingParameterException      missing cluResultId or contextInfo
1629      * @throws DependentObjectsExistException delete would leave orphaned
1630      *                                        objects or violate integrity
1631      *                                        constraints
1632      * @throws OperationFailedException       unable to complete request
1633      * @throws PermissionDeniedException      authorization failure
1634      */
1635     public StatusInfo deleteCluResult(@WebParam(name = "cluResultId") String cluResultId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, DependentObjectsExistException, OperationFailedException, PermissionDeniedException;
1636 
1637     /**
1638      * Validates a cluLoRelation. Depending on the value of validationTypeKey,
1639      * this validation could be limited to tests on just the current object and
1640      * its directly contained sub-objects or expanded to perform all tests
1641      * related to this object. If an identifier is present for the cluLoRelation
1642      * (and/or one of its contained sub-objects) and a record is found for that
1643      * identifier, the validation checks if the relationship can be shifted to
1644      * the new values. If an identifier is not present or a record cannot be
1645      * found for the identifier, it is assumed that the record does not exist
1646      * and as such, the checks performed will be much shallower, typically
1647      * mimicking those performed by setting the validationTypeKey to the current
1648      * object.
1649      *
1650      * @param validationTypeKey    identifier of the extent of validation
1651      * @param cluId                CLU identifier
1652      * @param loId                 learning objective identifier
1653      * @param cluLoRelationTypeKey type of clu learning objective relationship
1654      * @param cluLoRelationInfo    cluLoRelation information to be tested.
1655      * @param contextInfo          Context information containing the
1656      *                             principalId and locale information about the
1657      *                             caller of service operation
1658      * @return results from performing the validation
1659      * @throws DoesNotExistException     validationTypeKey, cluId, loId or
1660      *                                   cluLoRelationTypeKey not found
1661      * @throws InvalidParameterException invalid cluLoRelationInfo or
1662      *                                   contextInfo
1663      * @throws MissingParameterException missing validationTypeKey, cluId, loId,
1664      *                                   cluLoRelationTypeKey, cluLoRelationInfo
1665      *                                   or contextInfo
1666      * @throws OperationFailedException  unable to complete request
1667      * @throws PermissionDeniedException authorization failure
1668      */
1669     public List<ValidationResultInfo> validateCluLoRelation(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluId") String cluId, @WebParam(name = "loId") String loId, @WebParam(name = "cluLoRelationTypeKey") String cluLoRelationTypeKey, @WebParam(name = "cluLoRelationInfo") CluLoRelationInfo cluLoRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1670 
1671     /**
1672      * Creates a relationship between a learning objective and a CLU.
1673      *
1674      * @param cluId                CLU identifier
1675      * @param loId                 learning objective identifier
1676      * @param cluLoRelationTypeKey type of clu learning objective relationship
1677      * @param cluLoRelationInfo    clu learning objective relationship
1678      *                             information
1679      * @param contextInfo          Context information containing the
1680      *                             principalId and locale information about the
1681      *                             caller of service operation
1682      * @return the newly created clu learning objective relationship
1683      * @throws DataValidationErrorException data validation error
1684      * @throws DoesNotExistException        cluId, loId, cluLoRelationTypeKey
1685      *                                      not found
1686      * @throws InvalidParameterException    invalid cluLoRelationInfo or
1687      *                                      contextInfo
1688      * @throws MissingParameterException    missing cluId, loId, cluLoRelationTypeKey,
1689      *                                      cluLoRelationInfo or contextInfo
1690      * @throws OperationFailedException     unable to complete request
1691      * @throws PermissionDeniedException    authorization failure
1692      * @throws ReadOnlyException            an attempt at supplying information
1693      *                                      designated as read only
1694      */
1695     public CluLoRelationInfo createCluLoRelation(@WebParam(name = "cluId") String cluId, @WebParam(name = "loId") String loId, @WebParam(name = "cluLoRelationTypeKey") String cluLoRelationTypeKey, @WebParam(name = "cluLoRelationInfo") CluLoRelationInfo cluLoRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
1696 
1697     /**
1698      * Updates a relationship between a clu and learning objective
1699      *
1700      * @param cluLoRelationId   identifier of the clu learning objective
1701      *                          relationship to be updated
1702      * @param cluLoRelationInfo information about the clu learning objective
1703      *                          relationship to be updated
1704      * @param contextInfo       Context information containing the principalId
1705      *                          and locale information about the caller of
1706      *                          service operation
1707      * @return the updated clu learning objective relationship information
1708      * @throws DataValidationErrorException data validation error
1709      * @throws DoesNotExistException        cluLoRelationId not found
1710      * @throws InvalidParameterException    invalid cluLoRelationInfo or
1711      *                                      contextInfo
1712      * @throws MissingParameterException    missing cluLoRelationId, cluLoRelationInfo
1713      *                                      or contextInfo
1714      * @throws OperationFailedException     unable to complete request
1715      * @throws PermissionDeniedException    authorization failure
1716      * @throws ReadOnlyException            an attempt at supplying information
1717      *                                      designated as read only
1718      * @throws VersionMismatchException     The action was attempted on an out
1719      *                                      of date version.
1720      */
1721     public CluLoRelationInfo updateCluLoRelation(@WebParam(name = "cluLoRelationId") String cluLoRelationId, @WebParam(name = "cluLoRelationInfo") CluLoRelationInfo cluLoRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
1722 
1723     /**
1724      * Removes a relationship between a learning objective and a Clu.
1725      *
1726      * @param cluLoRelationId CLU learning objective Relationship identifier
1727      * @param contextInfo     Context information containing the principalId and
1728      *                        locale information about the caller of service
1729      *                        operation
1730      * @return Status of the delete operation
1731      * @throws DoesNotExistException     cluLoRelationId not found
1732      * @throws InvalidParameterException invalid contextInfo
1733      * @throws MissingParameterException missing cluLoRelationId
1734      * @throws OperationFailedException  unable to complete request
1735      * @throws PermissionDeniedException authorization failure
1736      */
1737     public StatusInfo deleteCluLoRelation(@WebParam(name = "cluLoRelationId") String cluLoRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1738 
1739     /**
1740      * Add a Resource requirement to a CLU
1741      *
1742      * @param resourceTypeKey identifier of the resource requirement type to be
1743      *                        added to the CLU
1744      * @param cluId           identifier of the CLU
1745      * @param contextInfo     Context information containing the principalId and
1746      *                        locale information about the caller of service
1747      *                        operation
1748      * @return status of the operation (success or failure)
1749      * @throws AlreadyExistsException if the resource type has already been added to the clu
1750      * @throws DoesNotExistException     resourceTypeKey or cluId not found
1751      * @throws InvalidParameterException invalid resourceTypeKey or cluId
1752      * @throws MissingParameterException missing resourceTypeKey, cluId or
1753      *                                   contextInfo
1754      * @throws OperationFailedException  unable to complete request
1755      * @throws PermissionDeniedException authorization failure
1756      */
1757     public StatusInfo addCluResourceRequirement(@WebParam(name = "resourceTypeKey") String resourceTypeKey,
1758                                                 @WebParam(name = "cluId") String cluId,
1759                                                 @WebParam(name = "contextInfo") ContextInfo contextInfo)
1760             throws AlreadyExistsException,
1761             DoesNotExistException,
1762             InvalidParameterException,
1763             MissingParameterException,
1764             OperationFailedException,
1765             PermissionDeniedException;
1766 
1767     /**
1768      * Remove a Resource requirement from a CLU
1769      *
1770      * @param resourceTypeKey identifier of the resource type to be removed from
1771      *                        the CLU
1772      * @param cluId           identifier of the CLU
1773      * @param contextInfo     Context information containing the principalId and
1774      *                        locale information about the caller of service
1775      *                        operation
1776      * @return status of the operation (success or failure)
1777      * @throws DoesNotExistException     resourceTypeKey or cluId not found
1778      * @throws InvalidParameterException invalid contextInfo
1779      * @throws MissingParameterException missing resourceTypeKey, cluId or
1780      *                                   contextInfo
1781      * @throws OperationFailedException  unable to complete request
1782      * @throws PermissionDeniedException authorization failure
1783      */
1784     public StatusInfo removeCluResourceRequirement(@WebParam(name = "resourceTypeKey") String resourceTypeKey, @WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1785 
1786     /**
1787      * Validates information about a clu set. Depending on the value of
1788      * validationTypeKey, this validation could be limited to tests on just the
1789      * current object and its directly contained sub-objects or expanded to
1790      * perform all tests related to this object. If an identifier is present for
1791      * the clu set (and/or one of its contained sub-objects) and a record is
1792      * found for that identifier, the validation checks if the clu set can be
1793      * shifted to the new values. If an identifier is not present or a record
1794      * cannot be found for the identifier, it is assumed that the record does
1795      * not exist and as such, the checks performed will be much shallower,
1796      * typically mimicking those performed by setting the validationType to the
1797      * current object.
1798      *
1799      * @param validationTypeKey identifier of the extent of validation
1800      * @param cluSetTypeKey     type of the CLU set to be created
1801      * @param cluSetInfo        CLU set information to be tested.
1802      * @param contextInfo       Context information containing the principalId
1803      *                          and locale information about the caller of
1804      *                          service operation
1805      * @return results from performing the validation
1806      * @throws DoesNotExistException     validationTypeKey or cluSetTypeKey not
1807      *                                   found
1808      * @throws InvalidParameterException invalid cluSetInfo or contextInfo
1809      * @throws MissingParameterException missing validationTypeKey, cluSetTypeKey,
1810      *                                   cluSetInfo or contextInfo
1811      * @throws OperationFailedException  unable to complete request
1812      * @throws PermissionDeniedException authorization failure
1813      */
1814     public List<ValidationResultInfo> validateCluSet(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluSetTypeKey") String cluSetTypeKey, @WebParam(name = "cluSetInfo") CluSetInfo cluSetInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1815 
1816     /**
1817      * Creates a CLU set.
1818      *
1819      * @param cluSetTypeKey type of the CLU set to be created
1820      * @param cluSetInfo    information required to create a CLU set
1821      * @param contextInfo   Context information containing the principalId and
1822      *                      locale information about the caller of service
1823      *                      operation
1824      * @return the created CLU set information
1825      * @throws DataValidationErrorException data validation error
1826      * @throws DoesNotExistException        cluSetTypeKey not found
1827      * @throws InvalidParameterException    invalid cluSetInfo or contextInfo
1828      * @throws MissingParameterException    missing cluSetTypeKey, cluSetInfo or
1829      *                                      contextInfo
1830      * @throws OperationFailedException     unable to complete request
1831      * @throws PermissionDeniedException    authorization failure
1832      * @throws ReadOnlyException            an attempt at supplying information
1833      *                                      designated as read only
1834      * @throws UnsupportedActionException   CLU set need to be static or dynamic
1835      *                                      but not both
1836      */
1837     public CluSetInfo createCluSet(@WebParam(name = "cluSetTypeKey") String cluSetTypeKey, @WebParam(name = "cluSetInfo") CluSetInfo cluSetInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, UnsupportedActionException;
1838 
1839     /**
1840      * Update the information for a CLU set
1841      *
1842      * @param cluSetId    identifier of the CLU set to be updated
1843      * @param cluSetInfo  updated information about the CLU set
1844      * @param contextInfo Context information containing the principalId and
1845      *                    locale information about the caller of service
1846      *                    operation
1847      * @return the updated CLU set information
1848      * @throws CircularRelationshipException added CluSetId cannot be added to
1849      *                                       the cluSetInfo
1850      * @throws DataValidationErrorException  data validation error
1851      * @throws DoesNotExistException         cluSetId not found
1852      * @throws InvalidParameterException     invalid cluSetInfo or contextInfo
1853      * @throws MissingParameterException     missing cluSetId, cluSetInfo or
1854      *                                       contextInfo
1855      * @throws OperationFailedException      unable to complete request
1856      * @throws PermissionDeniedException     authorization failure
1857      * @throws ReadOnlyException             an attempt at supplying information
1858      *                                       designated as read only
1859      * @throws UnsupportedActionException    CLU set need to be static or
1860      *                                       dynamic but not both
1861      * @throws VersionMismatchException      an optimistic locking failure or
1862      *                                       the action was attempted on an out
1863      *                                       of date version
1864      */
1865     public CluSetInfo updateCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "cluSetInfo") CluSetInfo cluSetInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, UnsupportedActionException, VersionMismatchException;
1866 
1867     /**
1868      * Delete a CLU set
1869      *
1870      * @param cluSetId    identifier of the CLU set to be deleted
1871      * @param contextInfo Context information containing the principalId and
1872      *                    locale information about the caller of service
1873      *                    operation
1874      * @return status of the operation (success or failure)
1875      * @throws DoesNotExistException     cluSetId not found
1876      * @throws InvalidParameterException invalid contextInfo
1877      * @throws MissingParameterException missing cluSetId or contextInfo
1878      * @throws OperationFailedException  unable to complete request
1879      * @throws PermissionDeniedException authorization failure
1880      */
1881     public StatusInfo deleteCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
1882 
1883     /**
1884      * Adds one CLU set to another
1885      *
1886      * @param cluSetId      identifier of the host CLU set
1887      * @param addedCluSetId identifier of the CLU set to be added
1888      * @param contextInfo   Context information containing the principalId and
1889      *                      locale information about the caller of service
1890      *                      operation
1891      * @return status of the operation (success or failure)
1892      * @throws CircularRelationshipException addedCluSetId cannot be added to
1893      *                                       the CluSetId
1894      * @throws DoesNotExistException         cluSetId, addedCluSetId not found
1895      * @throws InvalidParameterException     invalid contextInfo
1896      * @throws MissingParameterException     missing cluSetId, addedCluSetId or
1897      *                                       contextInfo
1898      * @throws OperationFailedException      unable to complete request
1899      * @throws PermissionDeniedException     authorization failure
1900      * @throws UnsupportedActionException    CLU set is dynamically determined
1901      */
1902     public StatusInfo addCluSetToCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "addedCluSetId") String addedCluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
1903 
1904     /**
1905      * Adds a list of CLU sets to another CluSet. If any individual one would
1906      * fail, then an error is returned and none are added.
1907      *
1908      * @param cluSetId       identifier of the host CLU set
1909      * @param addedCluSetIds list of identifiers of the CLU sets to be added
1910      * @param contextInfo    Context information containing the principalId and
1911      *                       locale information about the caller of service
1912      *                       operation
1913      * @return status of the operation (success or failure)
1914      * @throws CircularRelationshipException addedCluSetIds cannot be added to
1915      *                                       the cluSetId
1916      * @throws DoesNotExistException         cluSetId, one or more of cluSetIds
1917      *                                       in addedCluSetIds not found
1918      * @throws InvalidParameterException     invalid contextInfo
1919      * @throws MissingParameterException     missing cluSetId, addedCluSetIds or
1920      *                                       contextInfo
1921      * @throws OperationFailedException      unable to complete request
1922      * @throws PermissionDeniedException     authorization failure
1923      * @throws UnsupportedActionException    CLU set is dynamically determined
1924      */
1925     public StatusInfo addCluSetsToCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "addedCluSetIds") List<String> addedCluSetIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
1926 
1927     /**
1928      * Removes one CLU set from another
1929      *
1930      * @param cluSetId        identifier of the host CLU set
1931      * @param removedCluSetId identifier of the CLU set to be removed
1932      * @param contextInfo     Context information containing the principalId and
1933      *                        locale information about the caller of service
1934      *                        operation
1935      * @return status of the operation (success or failure)
1936      * @throws DoesNotExistException      cluSetId, removedCluSetId not found
1937      * @throws InvalidParameterException  invalid contextInfo
1938      * @throws MissingParameterException  missing cluSetId, removedCluSetId or
1939      *                                    contextInfo
1940      * @throws OperationFailedException   unable to complete request
1941      * @throws PermissionDeniedException  authorization failure
1942      * @throws UnsupportedActionException CLU set is dynamically determined
1943      */
1944     public StatusInfo removeCluSetFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "removedCluSetId") String removedCluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
1945 
1946     /**
1947      * Add a CLU to a CLU set
1948      *
1949      * @param cluId       identifier of CLU to add to the CLU set
1950      * @param cluSetId    identifier of the CLU set
1951      * @param contextInfo Context information containing the principalId and
1952      *                    locale information about the caller of service
1953      *                    operation
1954      * @return status of the operation (success or failure)
1955      * @throws DoesNotExistException      cluId, cluSetId not found
1956      * @throws InvalidParameterException  invalid contextInfo
1957      * @throws MissingParameterException  missing cluId, cluSetId or
1958      *                                    contextInfo
1959      * @throws OperationFailedException   unable to complete request
1960      * @throws PermissionDeniedException  authorization failure
1961      * @throws UnsupportedActionException CLU set is dynamically determined
1962      */
1963     public StatusInfo addCluToCluSet(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
1964 
1965     /**
1966      * Adds a list of CLUs to a CLU set. If any individual one would fail, then
1967      * an error is returned and none are added.
1968      *
1969      * @param cluSetIds   list of identifiers of CLUs to add to the CLU set
1970      * @param cluSetId    identifier of the CLU set to be added
1971      * @param contextInfo Context information containing the principalId and
1972      *                    locale information about the caller of service
1973      *                    operation
1974      * @return status of the operation (success or failure)
1975      * @throws DoesNotExistException      cluSetIds, cluSetId not found
1976      * @throws InvalidParameterException  invalid contextInfo
1977      * @throws MissingParameterException  missing cluSetIds, cluSetId or
1978      *                                    contextInfo
1979      * @throws OperationFailedException   unable to complete request
1980      * @throws PermissionDeniedException  authorization failure
1981      * @throws UnsupportedActionException CLU set is dynamically determined
1982      */
1983     public StatusInfo addClusToCluSet(@WebParam(name = "cluSetIds") List<String> cluSetIds, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
1984 
1985     /**
1986      * Remove a CLU from a CLU set
1987      *
1988      * @param cluId       identifier of CLU to remove from the CLU set
1989      * @param cluSetId    identifier of the CLU set
1990      * @param contextInfo Context information containing the principalId and
1991      *                    locale information about the caller of service
1992      *                    operation
1993      * @return status of the operation (success or failure)
1994      * @throws DoesNotExistException      cluId, cluSetId not found
1995      * @throws InvalidParameterException  invalid contextInfo
1996      * @throws MissingParameterException  missing cluId, cluSetId or
1997      *                                    contextInfo
1998      * @throws OperationFailedException   unable to complete request
1999      * @throws PermissionDeniedException  authorization failure
2000      * @throws UnsupportedActionException CLU set is dynamically determined
2001      */
2002     public StatusInfo removeCluFromCluSet(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
2003     
2004     /**
2005      * Search for Clus using free form search criteria.
2006      * 
2007      * @param criteria the search criteria.
2008      * @param contextInfo Context information containing the principalId and
2009      *                    locale information about the caller of service
2010      *                    operation
2011      * @return the list of matching Clus
2012      * @throws InvalidParameterException criteria or contextInfo is null
2013      * @throws MissingParameterException missing criteria or contextInfo
2014      * @throws OperationFailedException unable to complete request
2015      * @throws PermissionDeniedException authorization failure
2016      */
2017     public List<CluInfo>searchForClus(@WebParam(name = "criteria") QueryByCriteria criteria,
2018                                       @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2019     
2020     /**
2021      * Search for Clu Ids using free form search criteria
2022      * 
2023      * @param criteria  the search criteria.
2024      * @param contextInfo Context information containing the principalId and
2025      *                    locale information about the caller of service
2026      *                    operation
2027      * @return the list of matching Clu Ids
2028      * @throws InvalidParameterException criteria or contextInfo is null
2029      * @throws MissingParameterException missing criteria or contextInfo
2030      * @throws OperationFailedException unable to complete request
2031      * @throws PermissionDeniedException authorization failure
2032      */
2033     public List<String>searchForCluIds(@WebParam(name = "criteria") QueryByCriteria criteria,
2034             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2035 
2036     
2037     /**
2038      * Search for CluCluRelations using free form search criteria
2039      * 
2040      * @param criteria the search criteria.
2041      * @param contextInfo Context information containing the principalId and
2042      *                    locale information about the caller of service
2043      *                    operation
2044      * @return the list of matching CluCluRelations
2045      * @throws InvalidParameterException criteria or contextInfo is null
2046      * @throws MissingParameterException missing criteria or contextInfo
2047      * @throws OperationFailedException unable to complete request
2048      * @throws PermissionDeniedException authorization failure
2049      */
2050     public List<CluCluRelationInfo>searchForCluCluRelations(@WebParam(name = "criteria") QueryByCriteria criteria,
2051     @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2052     
2053     /**
2054      * Search for CluCluRelation Ids using free form search criteria
2055      * 
2056      * @param criteria the search criteria.
2057      * @param contextInfo Context information containing the principalId and
2058      *                    locale information about the caller of service
2059      *                    operation
2060      * @return the list of matching CluCluRelation Ids
2061      * @throws InvalidParameterException criteria or contextInfo is null
2062      * @throws MissingParameterException missing criteria or contextInfo
2063      * @throws OperationFailedException unable to complete request
2064      * @throws PermissionDeniedException authorization failure
2065      */
2066     public List<String>searchForCluCluRelationIds(@WebParam(name = "criteria") QueryByCriteria criteria,
2067             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2068             
2069     
2070     /**
2071      * Search for CluLoRelations using free form search criteria.
2072      * 
2073      * @param criteria the search criteria.
2074      * @param contextInfo Context information containing the principalId and
2075      *                    locale information about the caller of service
2076      *                    operation
2077      * @return the list of matching CluLoRelations
2078      * @throws InvalidParameterException criteria or contextInfo is null
2079      * @throws MissingParameterException missing criteria or contextInfo
2080      * @throws OperationFailedException unable to complete request
2081      * @throws PermissionDeniedException authorization failure
2082      */
2083     public List<CluLoRelationInfo>searchForCluLoRelations(@WebParam(name = "criteria") QueryByCriteria criteria,
2084             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2085     
2086     /**
2087      * Search for CluLoRelation Ids using free form search criteria
2088      * 
2089      * @param criteria the search criteria.
2090      * @param contextInfo Context information containing the principalId and
2091      *                    locale information about the caller of service
2092      *                    operation
2093      * @return the list of matching CluLoRelation Ids
2094      * @throws InvalidParameterException criteria or contextInfo is null
2095      * @throws MissingParameterException missing criteria or contextInfo
2096      * @throws OperationFailedException unable to complete request
2097      * @throws PermissionDeniedException authorization failure
2098      */
2099     public List<String>searchForCluLoRelationIds(@WebParam(name = "criteria") QueryByCriteria criteria,
2100             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2101     
2102     /**
2103      * Search for CluPublications using free form search criteria 
2104      * 
2105      * @param criteria the search criteria.
2106      * @param contextInfo Context information containing the principalId and
2107      *                    locale information about the caller of service
2108      *                    operation
2109      * @return the list of matching CluPublications
2110      * @throws InvalidParameterException criteria or contextInfo is null
2111      * @throws MissingParameterException missing criteria or contextInfo
2112      * @throws OperationFailedException unable to complete request
2113      * @throws PermissionDeniedException authorization failure
2114      */
2115     public List<CluPublicationInfo>searchForCluPublications(@WebParam(name = "criteria") QueryByCriteria criteria,
2116             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2117     
2118     /**
2119      * Search for CluPublication Ids using free form search criteria 
2120      * 
2121      * @param criteria the search criteria.
2122      * @param contextInfo Context information containing the principalId and
2123      *                    locale information about the caller of service
2124      *                    operation
2125      * @return the list of matching CluPublication Ids
2126      * @throws InvalidParameterException criteria or contextInfo is null
2127      * @throws MissingParameterException missing criteria or contextInfo
2128      * @throws OperationFailedException unable to complete request
2129      * @throws PermissionDeniedException authorization failure
2130      */
2131     public List<String>searchForCluPublicationIds(@WebParam(name = "criteria") QueryByCriteria criteria,
2132             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2133     
2134     /**
2135      * Search for CluResults using free form search criteria
2136      * 
2137      * @param criteria the search criteria.
2138      * @param contextInfo Context information containing the principalId and
2139      *                    locale information about the caller of service
2140      *                    operation
2141      * @return the list of matching CluResults
2142      * @throws InvalidParameterException criteria or contextInfo is null
2143      * @throws MissingParameterException missing criteria or contextInfo
2144      * @throws OperationFailedException unable to complete request
2145      * @throws PermissionDeniedException authorization failure
2146      */
2147     public List<CluResultInfo>searchForCluResults(@WebParam(name = "criteria") QueryByCriteria criteria,
2148             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2149     
2150     /**
2151      * Search for CluResult Ids using free form search criteria
2152      * 
2153      * @param criteria the search criteria.
2154      * @param contextInfo Context information containing the principalId and
2155      *                    locale information about the caller of service
2156      *                    operation
2157      * @return the list of matching CluResult Ids
2158      * @throws InvalidParameterException criteria or contextInfo is null
2159      * @throws MissingParameterException missing criteria or contextInfo
2160      * @throws OperationFailedException unable to complete request
2161      * @throws PermissionDeniedException authorization failure
2162      */
2163     public List<String>searchForCluResultIds(@WebParam(name = "criteria") QueryByCriteria criteria,
2164             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
2165 }