| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| SearchService |
|
| 1.0;1 |
| 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 | ||
| 16 | package org.kuali.student.r2.core.search.service; | |
| 17 | ||
| 18 | import java.util.List; | |
| 19 | ||
| 20 | import javax.jws.WebParam; | |
| 21 | import javax.jws.WebService; | |
| 22 | import javax.jws.soap.SOAPBinding; | |
| 23 | import javax.xml.ws.RequestWrapper; | |
| 24 | import javax.xml.ws.ResponseWrapper; | |
| 25 | ||
| 26 | import org.kuali.student.r2.core.search.dto.SearchRequestInfo; | |
| 27 | import org.kuali.student.r2.core.search.dto.SearchResultInfo; | |
| 28 | ||
| 29 | import org.kuali.student.r2.common.dto.ContextInfo; | |
| 30 | import org.kuali.student.r2.core.type.dto.TypeInfo; | |
| 31 | ||
| 32 | import org.kuali.student.r2.common.exceptions.DoesNotExistException; | |
| 33 | import org.kuali.student.r2.common.exceptions.InvalidParameterException; | |
| 34 | import org.kuali.student.r2.common.exceptions.MissingParameterException; | |
| 35 | import org.kuali.student.r2.common.exceptions.OperationFailedException; | |
| 36 | import org.kuali.student.r2.common.exceptions.PermissionDeniedException; | |
| 37 | ||
| 38 | @WebService(name = "SearchService", targetNamespace = "http://student.kuali.org/wsdl/search") | |
| 39 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | |
| 40 | ||
| 41 | public interface SearchService { | |
| 42 | ||
| 43 | /** | |
| 44 | * Retrieves the list of search types known by this service. | |
| 45 | * | |
| 46 | * @param contextInfo information containing the principalId and | |
| 47 | * locale information about the caller of service operation | |
| 48 | * @return list of search type information | |
| 49 | * @throws InvalidParameterException contextInfo is not valid | |
| 50 | * @throws MissingParameterException contextInfo | |
| 51 | * is missing or null | |
| 52 | * @throws OperationFailedException unable to complete request | |
| 53 | */ | |
| 54 | public List<TypeInfo> getSearchTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
| 55 | ||
| 56 | /** | |
| 57 | * Retrieves information about a particular search type. | |
| 58 | * | |
| 59 | * @param searchTypeKey identifier of the search type | |
| 60 | * @param contextInfo information containing the principalId and | |
| 61 | * locale information about the caller of service operation | |
| 62 | * @return information on the search type | |
| 63 | * @throws DoesNotExistException specified searchTypeKey not found | |
| 64 | * @throws InvalidParameterException contextInfo is not valid | |
| 65 | * @throws MissingParameterException searchTypeKey or contextInfo | |
| 66 | * is missing or null | |
| 67 | * @throws OperationFailedException unable to complete request | |
| 68 | */ | |
| 69 | public TypeInfo getSearchType(@WebParam(name="searchTypeKey")String searchTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
| 70 | ||
| 71 | /** | |
| 72 | * Retrieves the list of search types which return results in the | |
| 73 | * specified format. | |
| 74 | * | |
| 75 | * @param searchResultTypeKey identifier of the search result type | |
| 76 | * @param contextInfo information containing the principalId and | |
| 77 | * locale information about the caller of service operation | |
| 78 | * @return list of search type information | |
| 79 | * @throws DoesNotExistException specified searchResultTypeKey not found | |
| 80 | * @throws InvalidParameterException contextInfo is not valid | |
| 81 | * @throws MissingParameterException searchResultTypeKey or contextInfo | |
| 82 | * is missing or null | |
| 83 | * @throws OperationFailedException unable to complete request | |
| 84 | */ | |
| 85 | public List<TypeInfo> getSearchTypesByResult(@WebParam(name="searchResultTypeKey") String searchResultTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
| 86 | ||
| 87 | /** | |
| 88 | * Retrieves the list of search types which use criteria in the | |
| 89 | * specified format. | |
| 90 | * | |
| 91 | * @param searchCriteriaTypeKey identifier of the search criteria | |
| 92 | * @param contextInfo information containing the principalId and | |
| 93 | * locale information about the caller of service operation | |
| 94 | * @return list of search type information | |
| 95 | * @throws DoesNotExistException specified searchCriteriaTypeKey not found | |
| 96 | * @throws InvalidParameterException contextInfo is not valid | |
| 97 | * @throws MissingParameterException searchCriteriaTypeKey or | |
| 98 | * contextInfo is missing or null | |
| 99 | * @throws OperationFailedException unable to complete request | |
| 100 | */ | |
| 101 | public List<TypeInfo> getSearchTypesByCriteria(@WebParam(name="searchCriteriaTypeKey") String searchCriteriaTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
| 102 | ||
| 103 | /** | |
| 104 | * Retrieves the list of search result types known by this | |
| 105 | * service. Search result types describe the return structure for | |
| 106 | * a search. | |
| 107 | * | |
| 108 | * @param contextInfo information containing the principalId and | |
| 109 | * locale information about the caller of service operation | |
| 110 | * @throws InvalidParameterException contextInfo is not valid | |
| 111 | * @throws MissingParameterException contextInfo is missing or null | |
| 112 | * @throws OperationFailedException unable to complete request | |
| 113 | */ | |
| 114 | public List<TypeInfo> getSearchResultTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
| 115 | ||
| 116 | /** | |
| 117 | * Retrieves the list of search criteria types known by this | |
| 118 | * service. | |
| 119 | * | |
| 120 | * @param contextInfo information containing the principalId and | |
| 121 | * locale information about the caller of service operation | |
| 122 | * @return list of search criteria type information | |
| 123 | * @throws InvalidParameterException contextInfo is not valid | |
| 124 | * @throws MissingParameterException contextInfo is missing or null | |
| 125 | * @throws OperationFailedException unable to complete request | |
| 126 | */ | |
| 127 | public List<TypeInfo> getSearchCriteriaTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
| 128 | ||
| 129 | /** | |
| 130 | * Performs a search. | |
| 131 | * | |
| 132 | * @param searchRequestInfo the search request | |
| 133 | * @param contextInfo information containing the principalId and | |
| 134 | * locale information about the caller of service operation | |
| 135 | * @return the results of the search | |
| 136 | * @throws InvalidParameterException contextInfo is not valid | |
| 137 | * @throws MissingParameterException searchRequestInfo or | |
| 138 | * contextInfo is missing or null | |
| 139 | * @throws OperationFailedException unable to complete request | |
| 140 | * @throws PermissionDeniedException an authorization failure occurred | |
| 141 | */ | |
| 142 | public SearchResultInfo search(SearchRequestInfo searchRequestInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws MissingParameterException, OperationFailedException, PermissionDeniedException; | |
| 143 | } |