/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package util;
import static com.emc.vipr.client.core.util.ResourceUtils.uri;
import static util.BourneUtil.getCatalogClient;
import java.net.URI;
import java.util.List;
import com.emc.storageos.model.auth.ACLAssignmentChanges;
import com.emc.storageos.model.auth.ACLEntry;
import com.emc.vipr.client.ViPRCatalogClient2;
import com.emc.vipr.model.catalog.CatalogCategoryCreateParam;
import com.emc.vipr.model.catalog.CatalogCategoryRestRep;
import com.emc.vipr.model.catalog.CatalogCategoryUpdateParam;
import controllers.util.Models;
public class CatalogCategoryUtils {
public static CatalogCategoryRestRep getRootCategory(URI tenantId) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().getRootCatalogCategory(tenantId);
}
public static CatalogCategoryRestRep getCatalogCategory(URI catalogCategoryId) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().get(catalogCategoryId);
}
public static CatalogCategoryRestRep getRootCategory() {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().getRootCatalogCategory(Models.currentAdminTenant());
}
public static List<CatalogCategoryRestRep> getCatalogCategories(CatalogCategoryRestRep category) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().getSubCategories(category.getId());
}
public static void upgradeCatalog() {
ViPRCatalogClient2 catalog = getCatalogClient();
catalog.categories().upgradeCatalog(uri(Models.currentAdminTenant()));
}
public static void deleteCatalogCategory(URI catalogCategoryId) {
ViPRCatalogClient2 catalog = getCatalogClient();
catalog.categories().deactivate(catalogCategoryId);
}
public static void resetCatalogCategory(URI tenantId) {
ViPRCatalogClient2 catalog = getCatalogClient();
catalog.categories().resetCatalog(tenantId);
}
public static CatalogCategoryRestRep createCatalogCategory(CatalogCategoryCreateParam createParam) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().create(createParam);
}
public static CatalogCategoryRestRep updateCatalogCategory(URI id, CatalogCategoryUpdateParam updateParam) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().update(id, updateParam);
}
public static List<ACLEntry> getACLs(String id) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().getACLs(uri(id));
}
public static List<ACLEntry> updateACLs(String id, ACLAssignmentChanges changes) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().updateACLs(uri(id), changes);
}
public static void moveUpCategory(URI catalogCategoryId) {
ViPRCatalogClient2 catalog = getCatalogClient();
catalog.categories().moveUp(catalogCategoryId);
}
public static void moveDownCategory(URI catalogCategoryId) {
ViPRCatalogClient2 catalog = getCatalogClient();
catalog.categories().moveDown(catalogCategoryId);
}
public static boolean isUpdateAvailable(URI tenantId) {
ViPRCatalogClient2 catalog = getCatalogClient();
return catalog.categories().upgradeAvailable(tenantId);
}
}