/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.model.dao; import java.net.URI; import java.util.List; import java.util.Map; import java.util.Set; import com.emc.storageos.db.client.model.uimodels.CatalogService; import com.emc.sa.model.util.SortedIndexUtils; import com.emc.storageos.db.client.constraint.NamedElementQueryResultList.NamedElement; import com.emc.storageos.security.authentication.StorageOSUser; import com.google.common.collect.Lists; public class CatalogServiceFinder extends ModelFinder<CatalogService> { public CatalogServiceFinder(DBClientWrapper client) { super(CatalogService.class, client); } public List<CatalogService> findByCatalogCategory(URI catalogCategoryId) { List<CatalogService> results = Lists.newArrayList(); List<NamedElement> catalogServiceIds = client.findBy(CatalogService.class, CatalogService.CATALOG_CATEGORY_ID, catalogCategoryId); if (catalogServiceIds != null) { results.addAll(findByIds(toURIs(catalogServiceIds))); } SortedIndexUtils.sort(results); return results; } public Map<URI, Set<String>> findPermissions(StorageOSUser user, URI tenantId) { return findPermissions(this.clazz, user, tenantId); } public Map<URI, Set<String>> findPermissions(StorageOSUser user, URI tenantId, Set<String> filterBy) { return findPermissions(this.clazz, user, tenantId, filterBy); } }