2 * Copyright (c) 2013, 2015 IBM Corporation and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.ovsdb.openstack.netvirt.translator;
11 import java.io.Serializable;
12 import java.util.ArrayList;
13 import java.util.List;
15 import javax.xml.bind.annotation.XmlAccessType;
16 import javax.xml.bind.annotation.XmlAccessorType;
17 import javax.xml.bind.annotation.XmlElement;
18 import javax.xml.bind.annotation.XmlRootElement;
20 @XmlRootElement(name = "network")
21 @XmlAccessorType(XmlAccessType.NONE)
23 public class NeutronNetwork implements Serializable, INeutronObject {
24 // See OpenStack Network API v2.0 Reference for description of
25 // annotated attributes
27 private static final long serialVersionUID = 1L;
29 @XmlElement (name = "id")
32 @XmlElement (name = "name")
35 @XmlElement (defaultValue = "true", name = "admin_state_up")
38 @XmlElement (defaultValue = "false", name = "shared")
41 @XmlElement (name = "tenant_id")
44 // @XmlElement (defaultValue = "false", name = "router:external")
45 @XmlElement (defaultValue="false", namespace="router", name="external")
46 Boolean routerExternal;
48 // @XmlElement (defaultValue = "flat", name = "provider:network_type")
49 @XmlElement (namespace="provider", name="network_type")
50 String providerNetworkType;
52 // @XmlElement (name = "provider:physical_network")
53 @XmlElement (namespace="provider", name="physical_network")
54 String providerPhysicalNetwork;
56 // @XmlElement (name = "provider:segmentation_id")
57 @XmlElement (namespace="provider", name="segmentation_id")
58 String providerSegmentationID;
60 @XmlElement (name = "status")
63 @XmlElement (name="segments")
64 List<NeutronNetwork_Segment> segments;
66 @XmlElement (name="vlan_transparent")
67 Boolean vlanTransparent;
69 @XmlElement (name="mtu")
72 /* This attribute lists the ports associated with an instance
73 * which is needed for determining if that instance can be deleted
76 public NeutronNetwork() {
79 public void initDefaults() {
83 if (adminStateUp == null) {
89 if (routerExternal == null) {
90 routerExternal = false;
92 if (providerNetworkType == null) {
93 providerNetworkType = "flat";
97 public String getID() { return networkUUID; }
99 public void setID(String id) { this.networkUUID = id; }
101 public String getNetworkUUID() {
105 public void setNetworkUUID(String networkUUID) {
106 this.networkUUID = networkUUID;
109 public String getNetworkName() {
113 public void setNetworkName(String networkName) {
114 this.networkName = networkName;
117 public boolean isAdminStateUp() {
121 public Boolean getAdminStateUp() { return adminStateUp; }
123 public void setAdminStateUp(boolean newValue) {
124 adminStateUp = newValue;
127 public boolean isShared() { return shared; }
129 public Boolean getShared() { return shared; }
131 public void setShared(boolean newValue) {
135 public String getTenantID() {
139 public void setTenantID(String tenantID) {
140 this.tenantID = tenantID;
143 public boolean isRouterExternal() { return routerExternal; }
145 public Boolean getRouterExternal() { return routerExternal; }
147 public void setRouterExternal(boolean newValue) {
148 routerExternal = newValue;
151 public String getProviderNetworkType() {
152 return providerNetworkType;
155 public void setProviderNetworkType(String providerNetworkType) {
156 this.providerNetworkType = providerNetworkType;
159 public String getProviderPhysicalNetwork() {
160 return providerPhysicalNetwork;
163 public void setProviderPhysicalNetwork(String providerPhysicalNetwork) {
164 this.providerPhysicalNetwork = providerPhysicalNetwork;
167 public String getProviderSegmentationID() {
168 return providerSegmentationID;
171 public void setProviderSegmentationID(String providerSegmentationID) {
172 this.providerSegmentationID = providerSegmentationID;
175 public String getStatus() {
179 public void setStatus(String status) {
180 this.status = status;
183 public void setSegments(List<NeutronNetwork_Segment> segments) {
184 this.segments = segments;
187 public List<NeutronNetwork_Segment> getSegments() {
191 public Boolean getVlanTransparent() {
192 return vlanTransparent;
195 public void setVlanTransparent(Boolean input) {
196 this.vlanTransparent = input;
199 public Integer getMtu() {
203 public void setMtu(Integer input) {
208 * This method copies selected fields from the object and returns them
209 * as a new object, suitable for marshaling.
212 * List of attributes to be extracted
213 * @return an OpenStackNetworks object with only the selected fields
217 public NeutronNetwork extractFields(List<String> fields) {
218 NeutronNetwork ans = new NeutronNetwork();
219 for (String s : fields) {
222 ans.setNetworkUUID(this.getNetworkUUID());
225 ans.setNetworkName(this.getNetworkName());
227 case "admin_state_up":
228 ans.setAdminStateUp(adminStateUp);
231 ans.setStatus(this.getStatus());
234 ans.setShared(shared);
237 ans.setTenantID(this.getTenantID());
240 ans.setRouterExternal(this.getRouterExternal());
242 case "segmentation_id":
243 ans.setProviderSegmentationID(this.getProviderSegmentationID());
245 case "physical_network":
246 ans.setProviderPhysicalNetwork(this.getProviderPhysicalNetwork());
249 ans.setProviderNetworkType(this.getProviderNetworkType());
257 public String toString() {
258 return "NeutronNetwork [networkUUID=" + networkUUID + ", networkName=" + networkName + ", adminStateUp="
259 + adminStateUp + ", shared=" + shared + ", tenantID=" + tenantID + ", routerExternal=" + routerExternal
260 + ", providerNetworkType=" + providerNetworkType + ", providerPhysicalNetwork="
261 + providerPhysicalNetwork + ", providerSegmentationID=" + providerSegmentationID + ", status=" + status
262 + ", segments = " + segments + "]";