/*
- * Copyright IBM Corporation, 2013. All rights reserved.
+ * Copyright (c) 2013, 2015 IBM Corporation and others. 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,
package org.opendaylight.neutron.spi;
-import java.io.Serializable;
-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;
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronRouter implements Serializable, INeutronObject {
+public final class NeutronRouter extends NeutronAdminAttributes<NeutronRouter> {
private static final long serialVersionUID = 1L;
// See OpenStack Network API v2.0 Reference for description of
// annotated attributes
- @XmlElement (name = "id")
- String routerUUID;
-
- @XmlElement (name = "name")
- String name;
-
- @XmlElement (defaultValue = "true", name = "admin_state_up")
- Boolean adminStateUp;
-
- @XmlElement (name = "status")
- String status;
-
- @XmlElement (name = "tenant_id")
- String tenantID;
+ @XmlElement(name = "external_gateway_info", nillable = true)
+ NeutronRouterNetworkReference externalGatewayInfo;
- @XmlElement (name = "external_gateway_info", nillable = true)
- NeutronRouter_NetworkReference externalGatewayInfo;
-
- @XmlElement (name = "distributed")
+ @XmlElement(name = "distributed")
Boolean distributed;
- @XmlElement (name = "gw_port_id", nillable = true)
+ @XmlElement(name = "gw_port_id", nillable = true)
String gatewayPortId;
- @XmlElement (name = "routes")
- List<String> routes;
-
- /* Holds a map of OpenStackRouterInterfaces by subnet UUID
- * used for internal mapping to DOVE
- */
- HashMap<String, NeutronRouter_Interface> interfaces;
+ @XmlElement(name = "routes")
+ List<NeutronRoute> routes;
public NeutronRouter() {
- interfaces = new HashMap<String, NeutronRouter_Interface>();
- }
-
- public String getID() { return routerUUID; }
-
- public void setID(String id) { this.routerUUID = id; }
-
- public String getRouterUUID() {
- return routerUUID;
- }
-
- public void setRouterUUID(String routerUUID) {
- this.routerUUID = routerUUID;
- }
-
- 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 getTenantID() {
- return tenantID;
- }
-
- public void setTenantID(String tenantID) {
- this.tenantID = tenantID;
- }
-
- public NeutronRouter_NetworkReference getExternalGatewayInfo() {
+ public NeutronRouterNetworkReference getExternalGatewayInfo() {
return externalGatewayInfo;
}
- public void setExternalGatewayInfo(NeutronRouter_NetworkReference externalGatewayInfo) {
+ public void setExternalGatewayInfo(NeutronRouterNetworkReference externalGatewayInfo) {
this.externalGatewayInfo = externalGatewayInfo;
}
this.gatewayPortId = gatewayPortId;
}
- public List<String> getRoutes() {
+ public List<NeutronRoute> getRoutes() {
return routes;
}
- public void setRoutes(List<String> routes) {
+ public void setRoutes(List<NeutronRoute> routes) {
this.routes = routes;
}
- /**
- * 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 OpenStackRouters object with only the selected fields
- * populated
- */
- public NeutronRouter extractFields(List<String> fields) {
- NeutronRouter ans = new NeutronRouter();
- Iterator<String> i = fields.iterator();
- while (i.hasNext()) {
- String s = i.next();
- if (s.equals("id")) {
- ans.setRouterUUID(this.getRouterUUID());
- }
- 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("tenant_id")) {
- ans.setTenantID(this.getTenantID());
- }
- if (s.equals("external_gateway_info")) {
+ @Override
+ protected boolean extractField(String field, NeutronRouter ans) {
+ switch (field) {
+ case "external_gateway_info":
ans.setExternalGatewayInfo(this.getExternalGatewayInfo());
- }
- if (s.equals("distributed")) {
+ break;
+ case "distributed":
ans.setDistributed(this.getDistributed());
- }
- if (s.equals("gw_port_id")) {
+ break;
+ case "gw_port_id":
ans.setGatewayPortId(this.getGatewayPortId());
- }
- if (s.equals("routes")){
+ break;
+ case "routes":
ans.setRoutes(this.getRoutes());
- }
+ break;
+ default:
+ return super.extractField(field, ans);
}
- return ans;
- }
-
- public HashMap<String, NeutronRouter_Interface> getInterfaces() {
- return interfaces;
- }
-
- public void addInterface(String s, NeutronRouter_Interface i) {
- interfaces.put(s, i);
- }
-
- public void removeInterface(String s) {
- interfaces.remove(s);
- }
-
- public void initDefaults() {
- adminStateUp = true;
+ return true;
}
@Override
public String toString() {
- return "NeutronRouter [" +
- "id=" + routerUUID +
- ", name=" + name +
- ", adminStateUp=" + adminStateUp +
- ", status=" + status +
- ", tenantID=" + tenantID +
- ", external_gateway_info=" + externalGatewayInfo +
- ", distributed=" + distributed +
- ", gw_port_id=" + gatewayPortId +
- ", routes=" + routes +
- "]";
+ return "NeutronRouter [" + "id=" + uuid + ", name=" + name + ", adminStateUp=" + adminStateUp + ", status="
+ + status + ", tenantID=" + tenantID + ", external_gateway_info=" + externalGatewayInfo
+ + ", distributed=" + distributed + ", gw_port_id=" + gatewayPortId + ", routes=" + routes + "]";
}
}