package org.opendaylight.controller.networkconfig.neutron;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
+import org.opendaylight.controller.configuration.ConfigurationObject;
+
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
-public class NeutronPort {
+public class NeutronPort extends ConfigurationObject implements Serializable, INeutronObject {
+ private static final long serialVersionUID = 1L;
+
// See OpenStack Network API v2.0 Reference for description of
// annotated attributes
@XmlElement (name="tenant_id")
String tenantID;
- // TODO: add security groups
- // @XmlElement (name="security_groups")
- // List<String> securityGroups;
+ @XmlElement (name="security_groups")
+ List<NeutronSecurityGroup> securityGroups;
/* this attribute stores the floating IP address assigned to
* each fixed IP address
public String getID() { return portUUID; }
+ public void setID(String id) { this.portUUID = id; }
+
public String getPortUUID() {
return portUUID;
}
this.tenantID = tenantID;
}
+ public List<NeutronSecurityGroup> getSecurityGroups() {
+ return securityGroups;
+ }
+
+ public void setSecurityGroups(List<NeutronSecurityGroup> securityGroups) {
+ this.securityGroups = securityGroups;
+ }
+
public NeutronFloatingIP getFloatingIP(String key) {
if (!floatingIPMap.containsKey(key)) {
return null;
if (s.equals("tenant_id")) {
ans.setTenantID(this.getTenantID());
}
+ if (s.equals("security_groups")) {
+ List<NeutronSecurityGroup> securityGroups = new ArrayList<NeutronSecurityGroup>();
+ securityGroups.addAll(this.getSecurityGroups());
+ ans.setSecurityGroups(securityGroups);
+ }
}
return ans;
}
public boolean isBoundToFloatingIP(String fixedIP) {
return floatingIPMap.containsKey(fixedIP);
}
+
+ @Override
+ public String toString() {
+ return "NeutronPort [portUUID=" + portUUID + ", networkUUID=" + networkUUID + ", name=" + name
+ + ", adminStateUp=" + adminStateUp + ", status=" + status + ", macAddress=" + macAddress
+ + ", fixedIPs=" + fixedIPs + ", deviceID=" + deviceID + ", deviceOwner=" + deviceOwner + ", tenantID="
+ + tenantID + ", floatingIPMap=" + floatingIPMap + ", securityGroups=" + securityGroups + "]";
+ }
}