-/*\r
- * Copyright IBM Corporation, 2013. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.networkconfig.neutron;\r
-\r
-import java.util.ArrayList;\r
-import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.List;\r
-\r
-import javax.xml.bind.annotation.XmlAccessType;\r
-import javax.xml.bind.annotation.XmlAccessorType;\r
-import javax.xml.bind.annotation.XmlElement;\r
-import javax.xml.bind.annotation.XmlRootElement;\r
-\r
-\r
-@XmlRootElement\r
-@XmlAccessorType(XmlAccessType.NONE)\r
-\r
-public class NeutronPort {\r
- // See OpenStack Network API v2.0 Reference for description of\r
- // annotated attributes\r
-\r
- @XmlElement (name="id")\r
- String portUUID;\r
-\r
- @XmlElement (name="network_id")\r
- String networkUUID;\r
-\r
- @XmlElement (name="name")\r
- String name;\r
-\r
- @XmlElement (defaultValue="true", name="admin_state_up")\r
- Boolean adminStateUp;\r
-\r
- @XmlElement (name="status")\r
- String status;\r
-\r
- @XmlElement (name="mac_address")\r
- String macAddress;\r
-\r
- @XmlElement (name="fixed_ips")\r
- List<Neutron_IPs> fixedIPs;\r
-\r
- @XmlElement (name="device_id")\r
- String deviceID;\r
-\r
- @XmlElement (name="device_owner")\r
- String deviceOwner;\r
-\r
- @XmlElement (name="tenant_id")\r
- String tenantID;\r
-\r
- // TODO: add security groups\r
- // @XmlElement (name="security_groups")\r
- // List<String> securityGroups;\r
-\r
- /* this attribute stores the floating IP address assigned to\r
- * each fixed IP address\r
- */\r
-\r
- HashMap<String, NeutronFloatingIP> floatingIPMap;\r
-\r
- public NeutronPort() {\r
- floatingIPMap = new HashMap<String, NeutronFloatingIP>();\r
- }\r
-\r
- public String getID() { return portUUID; }\r
-\r
- public String getPortUUID() {\r
- return portUUID;\r
- }\r
-\r
- public void setPortUUID(String portUUID) {\r
- this.portUUID = portUUID;\r
- }\r
-\r
- public String getNetworkUUID() {\r
- return networkUUID;\r
- }\r
-\r
- public void setNetworkUUID(String networkUUID) {\r
- this.networkUUID = networkUUID;\r
- }\r
-\r
- public String getName() {\r
- return name;\r
- }\r
-\r
- public void setName(String name) {\r
- this.name = name;\r
- }\r
-\r
- public boolean isAdminStateUp() {\r
- if (adminStateUp == null)\r
- return true;\r
- return adminStateUp;\r
- }\r
-\r
- public Boolean getAdminStateUp() { return adminStateUp; }\r
-\r
- public void setAdminStateUp(Boolean newValue) {\r
- this.adminStateUp = newValue;\r
- }\r
-\r
- public String getStatus() {\r
- return status;\r
- }\r
-\r
- public void setStatus(String status) {\r
- this.status = status;\r
- }\r
-\r
- public String getMacAddress() {\r
- return macAddress;\r
- }\r
-\r
- public void setMacAddress(String macAddress) {\r
- this.macAddress = macAddress;\r
- }\r
-\r
- public List<Neutron_IPs> getFixedIPs() {\r
- return fixedIPs;\r
- }\r
-\r
- public void setFixedIPs(List<Neutron_IPs> fixedIPs) {\r
- this.fixedIPs = fixedIPs;\r
- }\r
-\r
- public String getDeviceID() {\r
- return deviceID;\r
- }\r
-\r
- public void setDeviceID(String deviceID) {\r
- this.deviceID = deviceID;\r
- }\r
-\r
- public String getDeviceOwner() {\r
- return deviceOwner;\r
- }\r
-\r
- public void setDeviceOwner(String deviceOwner) {\r
- this.deviceOwner = deviceOwner;\r
- }\r
-\r
- public String getTenantID() {\r
- return tenantID;\r
- }\r
-\r
- public void setTenantID(String tenantID) {\r
- this.tenantID = tenantID;\r
- }\r
-\r
- public NeutronFloatingIP getFloatingIP(String key) {\r
- if (!floatingIPMap.containsKey(key))\r
- return null;\r
- return floatingIPMap.get(key);\r
- }\r
-\r
- public void removeFloatingIP(String key) {\r
- floatingIPMap.remove(key);\r
- }\r
-\r
- public void addFloatingIP(String key, NeutronFloatingIP floatingIP) {\r
- if (!floatingIPMap.containsKey(key))\r
- floatingIPMap.put(key, floatingIP);\r
- }\r
-\r
- /**\r
- * This method copies selected fields from the object and returns them\r
- * as a new object, suitable for marshaling.\r
- *\r
- * @param fields\r
- * List of attributes to be extracted\r
- * @return an OpenStackPorts object with only the selected fields\r
- * populated\r
- */\r
-\r
- public NeutronPort extractFields(List<String> fields) {\r
- NeutronPort ans = new NeutronPort();\r
- Iterator<String> i = fields.iterator();\r
- while (i.hasNext()) {\r
- String s = i.next();\r
- if (s.equals("id"))\r
- ans.setPortUUID(this.getPortUUID());\r
- if (s.equals("network_id"))\r
- ans.setNetworkUUID(this.getNetworkUUID());\r
- if (s.equals("name"))\r
- ans.setName(this.getName());\r
- if (s.equals("admin_state_up"))\r
- ans.setAdminStateUp(this.getAdminStateUp());\r
- if (s.equals("status"))\r
- ans.setStatus(this.getStatus());\r
- if (s.equals("mac_address"))\r
- ans.setMacAddress(this.getMacAddress());\r
- if (s.equals("fixed_ips")) {\r
- List<Neutron_IPs> fixedIPs = new ArrayList<Neutron_IPs>();\r
- fixedIPs.addAll(this.getFixedIPs());\r
- ans.setFixedIPs(fixedIPs);\r
- }\r
- if (s.equals("device_id")) {\r
- ans.setDeviceID(this.getDeviceID());\r
- }\r
- if (s.equals("device_owner")) {\r
- ans.setDeviceOwner(this.getDeviceOwner());\r
- }\r
- if (s.equals("tenant_id"))\r
- ans.setTenantID(this.getTenantID());\r
- }\r
- return ans;\r
- }\r
-\r
- public void initDefaults() {\r
- adminStateUp = true;\r
- if (status == null)\r
- status = "ACTIVE";\r
- if (fixedIPs == null)\r
- fixedIPs = new ArrayList<Neutron_IPs>();\r
- }\r
-\r
- /**\r
- * This method checks to see if the port has a floating IPv4 address\r
- * associated with the supplied fixed IPv4 address\r
- *\r
- * @param fixedIP\r
- * fixed IPv4 address in dotted decimal format\r
- * @return a boolean indicating if there is a floating IPv4 address bound\r
- * to the fixed IPv4 address\r
- */\r
-\r
- public boolean isBoundToFloatingIP(String fixedIP) {\r
- return floatingIPMap.containsKey(fixedIP);\r
- }\r
-}\r
+/*
+ * Copyright IBM Corporation, 2013. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.controller.networkconfig.neutron;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+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 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="id")
+ String portUUID;
+
+ @XmlElement (name="network_id")
+ String networkUUID;
+
+ @XmlElement (name="name")
+ String name;
+
+ @XmlElement (defaultValue="true", name="admin_state_up")
+ Boolean adminStateUp;
+
+ @XmlElement (name="status")
+ String status;
+
+ @XmlElement (name="mac_address")
+ String macAddress;
+
+ @XmlElement (name="fixed_ips")
+ List<Neutron_IPs> fixedIPs;
+
+ @XmlElement (name="device_id")
+ String deviceID;
+
+ @XmlElement (name="device_owner")
+ String deviceOwner;
+
+ @XmlElement (name="tenant_id")
+ String tenantID;
+
+ @XmlElement (name="security_groups")
+ List<NeutronSecurityGroup> securityGroups;
+
+ /* this attribute stores the floating IP address assigned to
+ * each fixed IP address
+ */
+
+ HashMap<String, NeutronFloatingIP> floatingIPMap;
+
+ public NeutronPort() {
+ floatingIPMap = new HashMap<String, NeutronFloatingIP>();
+ }
+
+ public String getID() { return portUUID; }
+
+ public void setID(String id) { this.portUUID = id; }
+
+ public String getPortUUID() {
+ return portUUID;
+ }
+
+ public void setPortUUID(String portUUID) {
+ this.portUUID = portUUID;
+ }
+
+ public String getNetworkUUID() {
+ return networkUUID;
+ }
+
+ public void setNetworkUUID(String networkUUID) {
+ this.networkUUID = networkUUID;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public boolean isAdminStateUp() {
+ if (adminStateUp == null) {
+ return true;
+ }
+ return adminStateUp;
+ }
+
+ public Boolean getAdminStateUp() { return adminStateUp; }
+
+ public void setAdminStateUp(Boolean newValue) {
+ adminStateUp = newValue;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getMacAddress() {
+ return macAddress;
+ }
+
+ public void setMacAddress(String macAddress) {
+ this.macAddress = macAddress;
+ }
+
+ public List<Neutron_IPs> getFixedIPs() {
+ return fixedIPs;
+ }
+
+ public void setFixedIPs(List<Neutron_IPs> fixedIPs) {
+ this.fixedIPs = fixedIPs;
+ }
+
+ public String getDeviceID() {
+ return deviceID;
+ }
+
+ public void setDeviceID(String deviceID) {
+ this.deviceID = deviceID;
+ }
+
+ public String getDeviceOwner() {
+ return deviceOwner;
+ }
+
+ public void setDeviceOwner(String deviceOwner) {
+ this.deviceOwner = deviceOwner;
+ }
+
+ public String getTenantID() {
+ return tenantID;
+ }
+
+ public void setTenantID(String tenantID) {
+ 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;
+ }
+ return floatingIPMap.get(key);
+ }
+
+ public void removeFloatingIP(String key) {
+ floatingIPMap.remove(key);
+ }
+
+ public void addFloatingIP(String key, NeutronFloatingIP floatingIP) {
+ if (!floatingIPMap.containsKey(key)) {
+ floatingIPMap.put(key, floatingIP);
+ }
+ }
+
+ /**
+ * This method copies selected fields from the object and returns them
+ * as a new object, suitable for marshaling.
+ *
+ * @param fields
+ * List of attributes to be extracted
+ * @return an OpenStackPorts object with only the selected fields
+ * populated
+ */
+
+ public NeutronPort extractFields(List<String> fields) {
+ NeutronPort ans = new NeutronPort();
+ Iterator<String> i = fields.iterator();
+ while (i.hasNext()) {
+ String s = i.next();
+ if (s.equals("id")) {
+ ans.setPortUUID(this.getPortUUID());
+ }
+ if (s.equals("network_id")) {
+ ans.setNetworkUUID(this.getNetworkUUID());
+ }
+ if (s.equals("name")) {
+ ans.setName(this.getName());
+ }
+ if (s.equals("admin_state_up")) {
+ ans.setAdminStateUp(this.getAdminStateUp());
+ }
+ if (s.equals("status")) {
+ ans.setStatus(this.getStatus());
+ }
+ if (s.equals("mac_address")) {
+ ans.setMacAddress(this.getMacAddress());
+ }
+ if (s.equals("fixed_ips")) {
+ List<Neutron_IPs> fixedIPs = new ArrayList<Neutron_IPs>();
+ fixedIPs.addAll(this.getFixedIPs());
+ ans.setFixedIPs(fixedIPs);
+ }
+ if (s.equals("device_id")) {
+ ans.setDeviceID(this.getDeviceID());
+ }
+ if (s.equals("device_owner")) {
+ ans.setDeviceOwner(this.getDeviceOwner());
+ }
+ 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 void initDefaults() {
+ adminStateUp = true;
+ if (status == null) {
+ status = "ACTIVE";
+ }
+ if (fixedIPs == null) {
+ fixedIPs = new ArrayList<Neutron_IPs>();
+ }
+ }
+
+ /**
+ * This method checks to see if the port has a floating IPv4 address
+ * associated with the supplied fixed IPv4 address
+ *
+ * @param fixedIP
+ * fixed IPv4 address in dotted decimal format
+ * @return a boolean indicating if there is a floating IPv4 address bound
+ * to the fixed IPv4 address
+ */
+
+ 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 + "]";
+ }
+}