/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package models.datatable;
import java.util.List;
import com.emc.storageos.model.NamedRelatedResourceRep;
import com.emc.storageos.model.RelatedResourceRep;
import com.emc.storageos.model.block.VolumeRestRep;
import com.google.common.collect.Lists;
import util.BourneUtil;
import util.datatable.DataTable;
public class ApplicationFullCopySetsDataTable extends DataTable {
public ApplicationFullCopySetsDataTable() {
addColumn("cloneGroups").setRenderFunction("renderClones");
addColumn("createdTime").setRenderFunction("render.localDate");
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 ApplicationFullCopySets {
public String cloneGroups;
public long createdTime;
public List<String> subGroup = Lists.newArrayList();
public RelatedResourceRep associatedSourceVolume;
public String group;
public ApplicationFullCopySets(String sets,
List<NamedRelatedResourceRep> volumeDetailClone) {
cloneGroups = sets;
for (NamedRelatedResourceRep clone : volumeDetailClone) {
VolumeRestRep blockVolume = BourneUtil.getViprClient()
.blockVolumes().get((clone.getId()));
if (blockVolume.getProtection() != null
&& blockVolume.getProtection().getFullCopyRep() != null) {
associatedSourceVolume = blockVolume.getProtection()
.getFullCopyRep().getAssociatedSourceVolume();
}
if (associatedSourceVolume != null) {
VolumeRestRep associatedVolume = BourneUtil.getViprClient()
.blockVolumes().get(associatedSourceVolume.getId());
group = associatedVolume.getReplicationGroupInstance();
if (!subGroup.contains(group)) {
subGroup.add(group);
}
}
createdTime = blockVolume.getCreationTime().getTime().getTime();
;
}
}
}
}