/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package models.datatable; import static util.BourneUtil.getViprClient; import java.net.URI; import java.util.Collections; import java.util.List; import util.datatable.DataTable; import com.emc.storageos.model.block.BlockConsistencyGroupRestRep; import com.emc.vipr.client.ViPRCoreClient; import com.google.common.collect.Lists; import controllers.resources.BlockConsistencyGroups; public class ConsistencyGroupsDataTable extends DataTable { public ConsistencyGroupsDataTable() { addColumn("name"); this.setDefaultSort("name", "asc"); setRowCallback("createRowLink"); } public static List<ConsistencyGroup> fetch(URI projectId) { if (projectId == null) { return Collections.EMPTY_LIST; } ViPRCoreClient client = getViprClient(); List<BlockConsistencyGroupRestRep> blockConsistencyGroups = client.blockConsistencyGroups().findByProject(projectId); List<ConsistencyGroup> results = Lists.newArrayList(); for (BlockConsistencyGroupRestRep blockConsistencyGroup : blockConsistencyGroups) { results.add(new ConsistencyGroup(blockConsistencyGroup)); } return results; } public static class ConsistencyGroup { public URI id; public String name; public String rowLink; public ConsistencyGroup(BlockConsistencyGroupRestRep blockConsistencyGroup) { id = blockConsistencyGroup.getId(); name = blockConsistencyGroup.getName(); this.rowLink = createLink(BlockConsistencyGroups.class, "consistencyGroupDetails", "consistencyGroupId", id); } } }