package org.zstack.storage.fusionstor.backup; import org.zstack.header.query.ExpandedQueries; import org.zstack.header.query.ExpandedQuery; import org.zstack.header.search.Inventory; import org.zstack.header.search.Parent; import org.zstack.header.storage.backup.BackupStorageInventory; import org.zstack.storage.fusionstor.FusionstorConstants; import java.util.ArrayList; import java.util.Collection; import java.util.List; /** * Created by frank on 7/27/2015. */ @Inventory(mappingVOClass = FusionstorBackupStorageVO.class, collectionValueOfMethod = "valueOf1", parent = {@Parent(inventoryClass = BackupStorageInventory.class, type = FusionstorConstants.FUSIONSTOR_BACKUP_STORAGE_TYPE)} ) @ExpandedQueries({ @ExpandedQuery(expandedField = "mons", inventoryClass = FusionstorBackupStorageMonInventory.class, foreignKey = "uuid", expandedInventoryKey = "backupStorageUuid") }) public class FusionstorBackupStorageInventory extends BackupStorageInventory { private List<FusionstorBackupStorageMonInventory> mons = new ArrayList<FusionstorBackupStorageMonInventory>(); private String fsid; private String poolName; private Integer sshPort; public FusionstorBackupStorageInventory(FusionstorBackupStorageVO vo) { super(vo); mons = FusionstorBackupStorageMonInventory.valueOf(vo.getMons()); fsid = vo.getFsid(); poolName = vo.getPoolName(); } public FusionstorBackupStorageInventory() { } public Integer getSshPort() { return sshPort; } public void setSshPort(Integer sshPort) { this.sshPort = sshPort; } public String getPoolName() { return poolName; } public void setPoolName(String poolName) { this.poolName = poolName; } public String getFsid() { return fsid; } public void setFsid(String fsid) { this.fsid = fsid; } public static FusionstorBackupStorageInventory valueOf(FusionstorBackupStorageVO vo) { return new FusionstorBackupStorageInventory(vo); } public static List<FusionstorBackupStorageInventory> valueOf1(Collection<FusionstorBackupStorageVO> vos) { List<FusionstorBackupStorageInventory> invs = new ArrayList<FusionstorBackupStorageInventory>(); for (FusionstorBackupStorageVO vo : vos) { invs.add(new FusionstorBackupStorageInventory(vo)); } return invs; } public List<FusionstorBackupStorageMonInventory> getMons() { return mons; } public void setMons(List<FusionstorBackupStorageMonInventory> mons) { this.mons = mons; } }