/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.asset.providers; import java.util.List; import org.springframework.stereotype.Component; import com.emc.sa.asset.AssetOptionsContext; import com.emc.sa.asset.BaseAssetOptionsProvider; import com.emc.sa.asset.annotation.Asset; import com.emc.sa.asset.annotation.AssetDependencies; import com.emc.sa.asset.annotation.AssetNamespace; import com.emc.vipr.model.catalog.AssetOption; import com.google.common.collect.Lists; @Component @AssetNamespace("vipr") public class ProjectProvider extends BaseAssetOptionsProvider { @Asset("project") public List<AssetOption> getProjects(AssetOptionsContext ctx) { return createBaseResourceOptions(api(ctx).projects().getByTenant(ctx.getTenant())); } @Asset("project") @AssetDependencies("mobilityGroupMethod") public List<AssetOption> getProjects(AssetOptionsContext ctx, String mobilityGroupMethod) { if (mobilityGroupMethod.equalsIgnoreCase("INGEST_AND_MIGRATE")) { return createBaseResourceOptions(api(ctx).projects().getByTenant(ctx.getTenant())); } else { return Lists.newArrayList(); } } public List<AssetOption> getProjectFilters(AssetOptionsContext ctx) { List<AssetOption> options = createBaseResourceOptions(api(ctx).projects().getByTenant(ctx.getTenant())); options.add(0, new AssetOption("All", "All")); return options; } @Asset("objectBucketProject") public List<AssetOption> getObjectBucketProjects(AssetOptionsContext ctx) { List<AssetOption> options = createBaseResourceOptions(api(ctx).projects().getByTenant(ctx.getTenant())); options.add(newAssetOption("defaultProject", getMessage("object.project.default"))); return options; } }