package org.zstack.network.service.lb;
import org.zstack.header.query.ExpandedQueries;
import org.zstack.header.query.ExpandedQuery;
import org.zstack.header.query.ExpandedQueryAlias;
import org.zstack.header.query.ExpandedQueryAliases;
import org.zstack.header.search.Inventory;
import org.zstack.network.service.vip.VipInventory;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* Created by frank on 8/8/2015.
*/
@Inventory(mappingVOClass = LoadBalancerVO.class)
@ExpandedQueries({
@ExpandedQuery(expandedField = "listeners", inventoryClass = LoadBalancerListenerInventory.class,
foreignKey = "uuid", expandedInventoryKey = "loadBalancerUuid"),
@ExpandedQuery(expandedField = "vip", inventoryClass = VipInventory.class,
foreignKey = "vipUuid", expandedInventoryKey = "uuid"),
})
public class LoadBalancerInventory {
private String name;
private String uuid;
private String description;
private String state;
private String vipUuid;
private List<LoadBalancerListenerInventory> listeners;
public static LoadBalancerInventory valueOf(LoadBalancerVO vo) {
LoadBalancerInventory inv = new LoadBalancerInventory();
inv.setUuid(vo.getUuid());
inv.setName(vo.getName());
inv.setDescription(vo.getDescription());
inv.setState(vo.getState().toString());
inv.setVipUuid(vo.getVipUuid());
inv.setListeners(LoadBalancerListenerInventory.valueOf(vo.getListeners()));
return inv;
}
public static List<LoadBalancerInventory> valueOf(Collection<LoadBalancerVO> vos) {
List<LoadBalancerInventory> invs = new ArrayList<LoadBalancerInventory>();
for (LoadBalancerVO vo : vos) {
invs.add(valueOf(vo));
}
return invs;
}
public String getVipUuid() {
return vipUuid;
}
public void setVipUuid(String vipUuid) {
this.vipUuid = vipUuid;
}
public List<LoadBalancerListenerInventory> getListeners() {
return listeners;
}
public void setListeners(List<LoadBalancerListenerInventory> listeners) {
this.listeners = listeners;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
}