Package oracle.iam.catalog.api
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 Summary
Modifier and TypeMethodDescriptionaddCatalogItems
(Catalog catalog) Adds the list of catalog items in to the catalog table.deleteCatalogItems
(List<Catalog> catalogItems, boolean softDelete) Delete the catalog item from catalog table.findAvailableCategories
(SearchCriteria searchCriteria) Find categories present in catalog.findCatalog
(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) 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.findCatalog
(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria, boolean honorIsRequestable) 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.findCertifiableCatalog
(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) 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.findLimitedCatalog
(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) The number of catalog entries with this method is determined by the system property XL.CatalogSearchResultCap.findLimitedCatalog
(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria, boolean honorIsRequestable) The number of catalog entries with this method is determined by the system property XL.CatalogSearchResultCap.findLimitedCertifiableCatalog
(SearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) The number of catalog entries with this method is determined by the system property XL.CatalogSearchResultCap.getCatalogDetailsAsMetadata
(Long catalogID, String entityKey, OIMType entityType, OperationContext opContext) To get the details of the catalog items this should be used.getCatalogItemDetails
(Long catalogID, String entityKey, OIMType entityType, OperationContext opContext) To get the details of the catalog items this should be used.getCatalogItemDetailsInBulk
(List<Long> catalogIDs, List<String> entityKeys, List<OIMType> entityTypes) Bulk API to get the details of the catalog items this should be used.getCatalogItemDetailsInBulkWithOpContext
(List<Long> catalogIDs, List<String> entityKeys, List<OIMType> entityTypes, OperationContext opContext) Bulk API to get the details of the catalog items this should be used.getCategoryWithCount
(CatalogSearchCriteria searchCriteria) 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.getCategoryWithCountForComplexSearchCriteria
(SearchCriteria searchCriteria) 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 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.getDetailsOfHierarchicalData
(Long catalogId, String entityKey, OIMType entityType, String xpath) This is to get the hierarchical attributes details for the catalog id , for a given xpath.getHierarchicalData
(Long catalogId, String entityKey, OIMType entityType, String xpath, int startIndex, int endIndex) This is to get the hierarchical attributes or further child nodes for the catalog id , for a given xpath.getMetaDataDefinition
(String name) To get the catalog meta data on the basis of name.search
(CatalogSearchCriteria searchCriteria, int lowerBound, int higherBound, String sortField, CatalogSearchCriteria.SortCriteria sortCriteria) 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.updateCatalogItems
(Catalog catalogItems) Update the catalog item, this can also be used to update the tags and metadata value.updateCatalogMetadataValues
(List<Catalog> catalogItemList) Adds/Updates metadata values for catalog items against metadata definitions defined for all the catalog items.
-
Method Details
-
updateCatalogItems
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
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
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 TargetResourceopContext
- 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 TagslowerBound
- lower bound for searchhigherBound
- higher bound for paginated searchsortField
- 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 TargetResourceopContext
- OperationContext- Returns:
- Catalog VO object having all the details of catalog.
- Throws:
CatalogException
-
updateCatalogMetadataValues
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 TargetResourceopContext
- 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
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
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 searchhigherBound
- higher bound for paginated searchsortField
- 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 searchhigherBound
- higher bound for paginated searchsortField
- 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 searchhigherBound
- higher bound for paginated searchsortField
- Field on which sorting needs to be performed.sortCriteria
- Criteria if its an Ascending or DescendinghonorIsRequestable
- 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 searchhigherBound
- higher bound for paginated searchsortField
- Field on which sorting needs to be performed.sortCriteria
- Criteria if its an Ascending or DescendinghonorIsRequestable
- 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 searchhigherBound
- higher bound for paginated searchsortField
- 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 searchhigherBound
- higher bound for paginated searchsortField
- 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
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 detailsentityKey
- Entity key should be passed in combination with entityType for which you want to have detailsentityType
- 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 XPATHstartIndex
- 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 detailsentityKey
- Entity key should be passed in combination with entityType for which you want to have detailsentityType
- 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
-