/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.api.mapper; import static com.emc.storageos.db.client.URIUtil.uri; import com.emc.sa.catalog.CatalogCategoryManager; import com.emc.storageos.db.client.model.uimodels.CatalogCategory; import com.emc.storageos.db.client.model.uimodels.CatalogService; import com.emc.storageos.api.service.authorization.PermissionsHelper; import com.emc.storageos.api.service.impl.response.BulkList.TenantResourceFilter; import com.emc.storageos.security.authentication.StorageOSUser; public class CatalogServiceFilter extends TenantResourceFilter<CatalogService> { private CatalogCategoryManager catalogCategoryManager; public CatalogServiceFilter(StorageOSUser user, PermissionsHelper permissionsHelper, CatalogCategoryManager catalogCategoryManager) { super(user, permissionsHelper); this.catalogCategoryManager = catalogCategoryManager; } @Override public boolean isAccessible(CatalogService resource) { if (resource.getCatalogCategoryId() != null) { CatalogCategory catalogCategory = catalogCategoryManager.getCatalogCategoryById(resource.getCatalogCategoryId().getURI()); return isTenantResourceAccessible(uri(catalogCategory.getTenant())); } return false; } }