package org.opennaas.extensions.quantum.model; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlIDREF; import org.opennaas.core.resources.IModel; import org.opennaas.core.resources.ObjectSerializer; import org.opennaas.core.resources.SerializationException; import org.opennaas.extensions.quantum.extensions.l3.model.FloatingIP; import org.opennaas.extensions.quantum.extensions.l3.model.Router; /** * * @author Adrian Rosello (i2CAT) * */ public class QuantumModel implements IModel { private static final long serialVersionUID = -1626483965904441993L; // basic API v2 model objects @XmlIDREF @XmlAttribute private List<Network> networks; @XmlIDREF @XmlAttribute private List<Port> ports; @XmlIDREF @XmlAttribute private List<Subnet> subnets; // L3 extension model objects @XmlIDREF @XmlAttribute private List<Router> routers; @XmlIDREF @XmlAttribute private List<FloatingIP> floatingIPs; // OpenNaaS mapping model @XmlIDREF @XmlAttribute private List<NetworkModel> networksModel; public QuantumModel() { networks = new ArrayList<Network>(); ports = new ArrayList<Port>(); subnets = new ArrayList<Subnet>(); routers = new ArrayList<Router>(); floatingIPs = new ArrayList<FloatingIP>(); networksModel = new ArrayList<NetworkModel>(); } public List<Network> getNetworks() { return networks; } public void setNetworks(List<Network> networks) { this.networks = networks; } public List<Port> getPorts() { return ports; } public void setPorts(List<Port> ports) { this.ports = ports; } public List<Subnet> getSubnets() { return subnets; } public void setSubnets(List<Subnet> subnets) { this.subnets = subnets; } @Override public List<String> getChildren() { return new ArrayList<String>(); } @Override public String toXml() throws SerializationException { return ObjectSerializer.toXml(this); } public List<Router> getRouters() { return routers; } public void setRouters(List<Router> routers) { this.routers = routers; } public List<FloatingIP> getFloatingIPs() { return floatingIPs; } public void setFloatingIPs(List<FloatingIP> floatingIPs) { this.floatingIPs = floatingIPs; } public List<NetworkModel> getNetworksModel() { return networksModel; } public void setNetworksModel(List<NetworkModel> networksModel) { this.networksModel = networksModel; } public void addNetworkModel(NetworkModel netModel) { this.getNetworksModel().add(netModel); } public void removeNetworkModel(NetworkModel netModel) { this.getNetworksModel().remove(netModel); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; QuantumModel other = (QuantumModel) obj; if (floatingIPs == null) { if (other.floatingIPs != null) return false; } else if (!floatingIPs.equals(other.floatingIPs)) return false; if (networks == null) { if (other.networks != null) return false; } else if (!networks.equals(other.networks)) return false; if (networksModel == null) { if (other.networksModel != null) return false; } else if (!networksModel.equals(other.networksModel)) return false; if (ports == null) { if (other.ports != null) return false; } else if (!ports.equals(other.ports)) return false; if (routers == null) { if (other.routers != null) return false; } else if (!routers.equals(other.routers)) return false; if (subnets == null) { if (other.subnets != null) return false; } else if (!subnets.equals(other.subnets)) return false; return true; } }