Coverage Report - org.kuali.student.datadictionary.service.DataDictionaryService
 
Classes in this File Line Coverage Branch Coverage Complexity
DataDictionaryService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2011 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 1.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl1.php
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.kuali.student.datadictionary.service;
 17  
 
 18  
 import java.util.List;
 19  
 import javax.jws.WebParam;
 20  
 import javax.jws.WebService;
 21  
 import javax.jws.soap.SOAPBinding;
 22  
 import org.kuali.student.common.util.constants.DataDictionaryServiceConstants;
 23  
 import org.kuali.student.datadictionary.dto.DictionaryEntryInfo;
 24  
 import org.kuali.student.r2.common.dto.ContextInfo;
 25  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 26  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 27  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 28  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 29  
 
 30  
 /**
 31  
  * Data Dictionary Service
 32  
  *
 33  
  * Provides a read-only view of meta data about the objects and fields on those objects
 34  
  * that are known to the service for which the data dictionary is included.
 35  
  *
 36  
  * The dictionary service is aligned with Rice's KRAD dictionary, as such the dictionary
 37  
  * structures should match up field for field.
 38  
  *
 39  
  * The Data Dictionary Service is an "included" service in that it is not expected to be a web service on it's
 40  
  * own but instead it's methods simply appear (are "included") on the service that includes it.
 41  
  *
 42  
  * Version: 1.0 (Dev)
 43  
  *
 44  
  * @author nwright
 45  
  */
 46  
 @WebService(name = "DataDictionaryService", targetNamespace = DataDictionaryServiceConstants.NAMESPACE)
 47  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 48  
 public interface DataDictionaryService {
 49  
 
 50  
     /**
 51  
      * Get the list of entry keys in this dictionary
 52  
      *
 53  
      * The list of keys is stored in the ref object URI strcture
 54  
      * E.g http://stduent.kuali.org/LuService/CluInfo will be the objectTypeURI for the CluInfo structure
 55  
      * The refObjectURI has three parts:<ol>
 56  
      * <li>http://stduent.kuali.org/ -- which is fixed
 57  
      * <li>LuService -- which should match the namespace of the service in which the object is defined
 58  
      * <li>CluInfo -- which should match the java class's simple name
 59  
      * </ol>
 60  
      *
 61  
      * @param context information about the user and locale
 62  
      * @return a list of all the known data dictionary entry keys in the ref object URI structure.
 63  
      * @throws OperationFailedException if could not complete the operation
 64  
      * @throws MissingParameterException if entryKey is null
 65  
      * @throws PermissionDeniedException if user does not have permission to call this method
 66  
      */
 67  
     public List<String> getDataDictionaryEntryKeys(@WebParam(name = "context") ContextInfo context)
 68  
             throws OperationFailedException,
 69  
             MissingParameterException,
 70  
             PermissionDeniedException;
 71  
 
 72  
     /**
 73  
      * Get the data dictionary entry for the specified entry key
 74  
      * 
 75  
      * @param entryKey that identifies the dictionary entry, this is done by specifying
 76  
      *        a refObjectURI
 77  
      * @param context information about the user and locale
 78  
      * @return the data dictionary entry key
 79  
      * @throws OperationFailedException if could not complete the operation
 80  
      * @throws MissingParameterException if entryKey is null
 81  
      * @throws DoesNotExistException if entryKey does not exist in the dictionary
 82  
      * @throws PermissionDeniedException if user does not have permission to call this method
 83  
      */
 84  
     public DictionaryEntryInfo getDataDictionaryEntry(@WebParam(name = "entryKey") String entryKey,
 85  
             @WebParam(name = "context") ContextInfo context)
 86  
             throws OperationFailedException,
 87  
             MissingParameterException,
 88  
             PermissionDeniedException,
 89  
             DoesNotExistException;
 90  
 }