Interface CatalogService


public interface CatalogService
Service can be used to perform all CRUDQ operation on Catalog entities.
Since:
11.1.2.0.0
Author:
asbharga
  • Method Details

    • updateCatalogItems

      Result updateCatalogItems(Catalog catalogItems) throws CatalogException
      Update the catalog item, this can also be used to update the tags and metadata value. Ideally this API should only be used to update the catalog specific data. For updating metadata and tags, Metadata and Tags API should be used. Name , Display Name and Description of catalog item will not be updated using this API. No bulk update API has been provided for this release.
      Parameters:
      catalogItems - The catalog item that has to be updated.
      Returns:
      Result which contains whether the data has been updated or not, If any exception is raised this will also contain the exception message.
      Throws:
      CatalogException - @CatalogException
    • addCatalogItems

      Result addCatalogItems(Catalog catalog) throws CatalogException
      Adds the list of catalog items in to the catalog table. This also takes care of tags that need to be added if passed in the Catalog VO's. This will also add defualt category to the Category table.
      Parameters:
      catalog - Catalog item that will be inserted in to catalog table.
      Returns:
      List of Result This will contain the id for teh catalog that has been inserted successfully and if while inseting any of the catalog items any execption occurs will laos be captured in this result.
      Throws:
      CatalogException
    • deleteCatalogItems

      List<Result> deleteCatalogItems(List<Catalog> catalogItems, boolean softDelete)
      Delete the catalog item from catalog table. This will soft delete as well as hard delete, for soft delete updateCatalogItems API can also be used.
      Parameters:
      catalogItems - List of catalog items that have to be soft deleted.
      softDelete - User want to soft delete or hard delete if true it will be soft deleted means isdeleted will be updated to 1 for all the catalog items passed in a list
      Returns:
      List of result object which tells whether the delete for the catalog items has been success or not
    • getCatalogItemDetails

      Catalog getCatalogItemDetails(Long catalogID, String entityKey, OIMType entityType, OperationContext opContext) throws CatalogException
      To get the details of the catalog items this should be used. The catalog VO will contain the metadata tags and the categories of the Catalog items. User can either pass the catalogId to get the Details of catalog item, this can be called from the UI. Or they can pass the entityKey and entityType for getting the details of catalog Items. This can be called from Request team or Provisioning team to get the details of Catalog, if they dont have catalog id with them.
      Parameters:
      catalogID - Primary key that uniquely identifies the Catalog Items in catalog tabel.
      entityKey - This is the Prmiary key of Entities like Role, Entitlement and TargetResources. when this is passed Entity type should also bepassed.
      entityType - This is one of the entity Type like Role, Entitlement or TargetResource
      opContext - operation Context to be passed when in request context else it can be null. This should bepassed in combination with entity key and type
      Returns:
      Catalog VO object having all the details of catalog.
      Throws:
      CatalogException
    • search

      CatalogSearchResult search(CatalogSearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) throws CatalogException
      Search on the basis of Tags that has been provided by User, All the tags will be AND-ed, It will return the objects after applying the entity level security.
      Parameters:
      searchCriteria - Object that contains the search criteria, It could contain the List of Category or the List of Tags
      lowerBound - lower bound for search
      higherBound - higher bound for paginated search
      sortField - Field on which sorting needs to be performed.
      sortCriteria - Criteria if its an Ascending or Descending
      Returns:
      List of Catalog Vo satisfying the search criteria.
      Throws:
      CatalogException
    • getCatalogItemDetailsInBulk

      List<Catalog> getCatalogItemDetailsInBulk(List<Long> catalogIDs, List<String> entityKeys, List<OIMType> entityTypes) throws CatalogException
      Bulk API to get the details of the catalog items this should be used. The list of catalog VO will contain the metadata tags and the categories of the Catalog items. User can either pass the list of catalogIds to get the Details of catalog item, this can be called from the UI. Or they can pass the list of entityKey and list of entityType for getting the details of catalog Items. This can be called from Request team or Provisioning team to get the details of Catalog, if they dont have catalog id with them.
      Parameters:
      catalogIDs - List of primary key that uniquely identifies the Catalog Items in catalog tabel.
      entityKeys - List of prmiary key of Entities like Role, Entitlement and TargetResources. when this is passed Entity type should also bepassed.
      entityTypes - List of entity Type like Role, Entitlement or TargetResource
      Returns:
      Catalog VO object having all the details of catalog.
      Throws:
      CatalogException
    • getCatalogItemDetailsInBulkWithOpContext

      List<Catalog> getCatalogItemDetailsInBulkWithOpContext(List<Long> catalogIDs, List<String> entityKeys, List<OIMType> entityTypes, OperationContext opContext) throws CatalogException
      Bulk API to get the details of the catalog items this should be used. The list of catalog VO will contain the metadata tags and the categories of the Catalog items. User can either pass the list of catalogIds to get the Details of catalog item, this can be called from the UI. Or they can pass the list of entityKey and list of entityType for getting the details of catalog Items. This can be called from Request team or Provisioning team to get the details of Catalog, if they dont have catalog id with them. Important: Details with catalogIds can be found only if end user is admin. OperationContext will be of no use if catalogIds are passed.
      Parameters:
      catalogIDs - List of primary key that uniquely identifies the Catalog Items in catalog tabel.
      entityKeys - List of prmiary key of Entities like Role, Entitlement and TargetResources. when this is passed Entity type should also bepassed.
      entityTypes - List of entity Type like Role, Entitlement or TargetResource
      opContext - OperationContext
      Returns:
      Catalog VO object having all the details of catalog.
      Throws:
      CatalogException
    • updateCatalogMetadataValues

      Result updateCatalogMetadataValues(List<Catalog> catalogItemList)
      Adds/Updates metadata values for catalog items against metadata definitions defined for all the catalog items.
      Parameters:
      catalogItemList - Catalog VO List for which metadata values has to be added/updated
      Returns:
      Result will have status flag as true if the values has been added successfuly and false if the metadata value was not successfuly added. Also contains Throwable having the actual exception.
    • getCatalogDetailsAsMetadata

      List<MetaData> getCatalogDetailsAsMetadata(Long catalogID, String entityKey, OIMType entityType, OperationContext opContext) throws CatalogException
      To get the details of the catalog items this should be used. The catalog VO will contain the metadata tags and the categories of the Catalog items. User can either pass the catalogId to get the Details of catalog item, this can be called from the UI. Or they can pass the entityKey and entityType for getting the details of catalog Items. This can be called from Request team or Provisioning team to get the details of Catalog, if they dont have catalog id with them.
      Parameters:
      catalogID - Primary key that uniquely identifies the Catalog Items in catalog tabel.
      entityKey - This is the Prmiary key of Entities like Role, Entitlement and TargetResources. when this is passed Entity type should also bepassed.
      entityType - This is one of the entity Type like Role, Entitlement or TargetResource
      opContext - operation Context to be passed when in request context else it can be null. This should bepassed in combination with entity key and type
      Returns:
      Metadata list VO object having all the details of catalog.
      Throws:
      CatalogException
    • getMetaDataDefinition

      List<MetaDataDefinition> getMetaDataDefinition(String name) throws CatalogException
      To get the catalog meta data on the basis of name. This will return information as list of MetadataDefinition.
      Parameters:
      name - Search pattern to get catalog metadata
      Returns:
      List of metadata matching the search name passed.
      Throws:
      CatalogException
    • getCategoryWithCount

      CategoryTally getCategoryWithCount(CatalogSearchCriteria searchCriteria) throws CatalogException
      This is to get the search category ion on the basis of Tags that has been provided by User, All the tags will be AND-ed, It will return the objects after applying the entity level security.
      Parameters:
      searchCriteria - Object that contains the search criteria, It could contain the List of Category or the List of Tags
      Returns:
      CategoryTally Vo satisfying the search criteria whioch will have category and the count for it.
      Throws:
      CatalogException
    • findCatalog

      List<Catalog> findCatalog(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) throws CatalogException
      Find catalog on the basis of input provided as searchCriteria that has been provided by User, It will return the objects after applying the entity level security. AT present only string type of data types are supported and the operators that are supported for String are: Begins With, Equals, and IN.
      Parameters:
      searchCriteria - SearchCriteria
      lowerBound - lower bound for search
      higherBound - higher bound for paginated search
      sortField - Field on which sorting needs to be performed.
      sortCriteria - Criteria if its an Ascending or Descending
      Returns:
      List of Catalog Vo satisfying the search criteria.
      Throws:
      CatalogException
      Since:
      11.1.2.1.0
    • findLimitedCatalog

      List<Catalog> findLimitedCatalog(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) throws CatalogException
      The number of catalog entries with this method is determined by the system property XL.CatalogSearchResultCap. Find catalog on the basis of input provided as searchCriteria that has been provided by User, It will return the objects after applying the entity level security. AT present only string type of data types are supported and the operators that are supported for String are: Begins With, Equals, and IN.
      Parameters:
      searchCriteria - SearchCriteria
      lowerBound - lower bound for search
      higherBound - higher bound for paginated search
      sortField - Field on which sorting needs to be performed.
      sortCriteria - Criteria if its an Ascending or Descending
      Returns:
      List of Catalog Vo satisfying the search criteria.
      Throws:
      CatalogException
      Since:
      11.1.2.1.0
    • findCatalog

      List<Catalog> findCatalog(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria, boolean honorIsRequestable) throws CatalogException
      Find catalog on the basis of input provided as searchCriteria that has been provided by User, It will return the objects after applying the entity level security. AT present only string type of data types are supported and the operators that are supported for String are: Begins With, Equals, and IN.
      Parameters:
      searchCriteria - SearchCriteria
      lowerBound - lower bound for search
      higherBound - higher bound for paginated search
      sortField - Field on which sorting needs to be performed.
      sortCriteria - Criteria if its an Ascending or Descending
      honorIsRequestable - boolean flag indicating to honor is_requetsbale flag found in the catalog table.
      Returns:
      List of Catalog Vo satisfying the search criteria.
      Throws:
      CatalogException
      Since:
      11.1.2.1.0
    • findLimitedCatalog

      List<Catalog> findLimitedCatalog(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria, boolean honorIsRequestable) throws CatalogException
      The number of catalog entries with this method is determined by the system property XL.CatalogSearchResultCap. Find catalog on the basis of input provided as searchCriteria that has been provided by User, It will return the objects after applying the entity level security. AT present only string type of data types are supported and the operators that are supported for String are: Begins With, Equals, and IN.
      Parameters:
      searchCriteria - SearchCriteria
      lowerBound - lower bound for search
      higherBound - higher bound for paginated search
      sortField - Field on which sorting needs to be performed.
      sortCriteria - Criteria if its an Ascending or Descending
      honorIsRequestable - boolean flag indicating to honor is_requetsbale flag found in the catalog table.
      Returns:
      List of Catalog Vo satisfying the search criteria.
      Throws:
      CatalogException
      Since:
      11.1.2.1.0
    • findCertifiableCatalog

      List<Catalog> findCertifiableCatalog(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) throws CatalogException
      Find certifiable catalog on the basis of input provided as searchCriteria that has been provided by User, It will return the objects after applying the entity level security. AT present only string type of data types are supported and the operators that are supported for String are: Begins With, Equals, and IN.
      Parameters:
      searchCriteria - SearchCriteria
      lowerBound - lower bound for search
      higherBound - higher bound for paginated search
      sortField - Field on which sorting needs to be performed.
      sortCriteria - Criteria if its an Ascending or Descending
      Returns:
      List of Catalog Vo satisfying the search criteria.
      Throws:
      CatalogException
      Since:
      11.1.2.1.0
    • findLimitedCertifiableCatalog

      List<Catalog> findLimitedCertifiableCatalog(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) throws CatalogException
      The number of catalog entries with this method is determined by the system property XL.CatalogSearchResultCap. Find certifiable catalog on the basis of input provided as searchCriteria that has been provided by User, It will return the objects after applying the entity level security. AT present only string type of data types are supported and the operators that are supported for String are: Begins With, Equals, and IN.
      Parameters:
      searchCriteria - SearchCriteria
      lowerBound - lower bound for search
      higherBound - higher bound for paginated search
      sortField - Field on which sorting needs to be performed.
      sortCriteria - Criteria if its an Ascending or Descending
      Returns:
      List of Catalog Vo satisfying the search criteria.
      Throws:
      CatalogException
      Since:
      11.1.2.1.0
    • findAvailableCategories

      List<Category> findAvailableCategories(SearchCriteria searchCriteria) throws CatalogException
      Find categories present in catalog. If searchCriteria is null, it will return all the categories. At present it doesnot support complex searchCriteria. Only operator supported for finding catalog is like.
      Parameters:
      searchCriteria -
      Returns:
      List of category
      Throws:
      CatalogException
      Since:
      11.1.2.1.0
    • getCategoryWithCountForComplexSearchCriteriaForCertification

      CategoryTally getCategoryWithCountForComplexSearchCriteriaForCertification(SearchCriteria searchCriteria) throws CatalogException
      This is to get the search category on the basis of any attribute in catalog that has been provided by User, All the criterias will be AND-ed, It will return the objects after applying the entity level security. This API is developed for certification only as the property CATALOG_CATEGORY_COUNT_OPTION needs to be ignored. It's same as the API getCategoryWithCountForComplexSearchCriteria() but without CATALOG_CATEGORY_COUNT_OPTION property.
      Parameters:
      searchCriteria - Object that contains the search criteria, It could contain any of the Catalog attributes
      Returns:
      CategoryTally Vo satisfying the search criteria with category and its count in a map.
      Throws:
      CatalogException
      Since:
      11.1.2.2.0
    • getCategoryWithCountForComplexSearchCriteria

      CategoryTally getCategoryWithCountForComplexSearchCriteria(SearchCriteria searchCriteria) throws CatalogException
      This is to get the search category on the basis of any attribute in catalog that has been provided by User, All the criterias will be AND-ed, It will return the objects after applying the entity level security.
      Parameters:
      searchCriteria - Object that contains the search criteria, It could contain any of the Catalog attributes
      Returns:
      CategoryTally Vo satisfying the search criteria with category and its count in a map.
      Throws:
      CatalogException
      Since:
      11.1.2.2.0
    • getHierarchicalData

      HierarchicalAttributes getHierarchicalData(Long catalogId, String entityKey, OIMType entityType, String xpath, int startIndex, int endIndex) throws CatalogException
      This is to get the hierarchical attributes or further child nodes for the catalog id , for a given xpath.
      Parameters:
      catalogKey - Catalog ID for which you have to get the details
      entityKey - Entity key should be passed in combination with entityType for which you want to have details
      entityType - entityType @link OIMType It coould be Role Entitlement and Application Instance. This should be passed when entityKey is passed.
      xpath - Provide an XPATH query to get the XML nodes. Use the W3 recommendations for XPATH
      startIndex - start index for the no of nodes.
      endIndex - endIndex when the no of index are more.
      Returns:
      attributeDetails server will provide the information related to what all child the node has and does child have further childs or not and what is the count like
      Throws:
      CatalogException
      Since:
      11.1.2.2.0
    • getDetailsOfHierarchicalData

      HierarchicalAttributeDetails getDetailsOfHierarchicalData(Long catalogId, String entityKey, OIMType entityType, String xpath) throws CatalogException
      This is to get the hierarchical attributes details for the catalog id , for a given xpath.
      Parameters:
      catalogKey - Catalog ID for which you have to get the details
      entityKey - Entity key should be passed in combination with entityType for which you want to have details
      entityType - entityType @link OIMType It coould be Role Entitlement and Application Instance. This should be passed when entityKey is passed.
      xpath - Provide an XPATH query to get the XML nodes. Use the W3 recommendations for XPATH
      Returns:
      HierarchicalAttributeDetails object that will provide the details of the node for a given xpath.
      Throws:
      CatalogException
      Since:
      11.1.2.2.0