/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package models.datatable; import java.net.URI; import java.util.Map; import com.emc.storageos.model.block.BlockSnapshotRestRep; import com.emc.storageos.model.block.VolumeRestRep; import com.emc.vipr.client.core.util.ResourceUtils; import util.BourneUtil; import util.datatable.DataTable; public class ApplicationSnapshotDataTable extends DataTable { public ApplicationSnapshotDataTable() { addColumn("name").setRenderFunction("renderLink"); addColumn("capacity").setRenderFunction("render.sizeInGb"); addColumn("varray"); addColumn("vpool"); addColumn("subGroup"); sortAll(); } //Suppressing sonar violation for need of accessor methods. Accessor methods are not needed and we use public variables @SuppressWarnings("ClassVariableVisibilityCheck") public static class ApplicationSnapshots { public URI id; public String name; public String capacity; public String varray; public String vpool; public String subGroup; public VolumeRestRep sourceVolume; public Map<URI, String> virtualArrays = ResourceUtils.mapNames(BourneUtil.getViprClient().varrays().list()); public Map<URI, String> virtualPools = ResourceUtils.mapNames(BourneUtil.getViprClient().blockVpools().list()); public ApplicationSnapshots(BlockSnapshotRestRep blockSnapshot) { id = blockSnapshot.getId(); name = blockSnapshot.getName(); capacity = blockSnapshot.getProvisionedCapacity(); if (blockSnapshot.getVirtualArray() != null) { varray = virtualArrays.get(blockSnapshot.getVirtualArray().getId()); } if(blockSnapshot.getParent()!=null) { sourceVolume = BourneUtil.getViprClient().blockVolumes().get(blockSnapshot.getParent().getId()); } if(sourceVolume!=null) { subGroup = sourceVolume.getReplicationGroupInstance(); if(sourceVolume.getVirtualPool()!=null) { vpool = virtualPools.get(sourceVolume.getVirtualPool().getId()); } } else { subGroup = blockSnapshot.getReplicationGroupInstance(); } } } }