@XmlElement (name = "tenant_id")
String tenantID; // tenant for this network
- @XmlElement (defaultValue = "false", namespace = "router", name = "external")
+ @XmlElement (defaultValue = "false", name = "router:external")
+ // @XmlElement (defaultValue="false", namespace="router", name="external")
Boolean routerExternal; // network external or not
- @XmlElement (defaultValue = "flat", namespace = "provider", name = "network_type")
+ @XmlElement (defaultValue = "flat", name = "provider:network_type")
+ // @XmlElement (defaultValue="flat", namespace="provider", name="network_type")
String providerNetworkType; // provider network type (flat or vlan)
- @XmlElement (namespace = "provider", name = "physical_network")
+ @XmlElement (name = "provider:physical_network")
+ // @XmlElement (namespace="provider", name="physical_network")
String providerPhysicalNetwork; // provider physical network (name)
- @XmlElement (namespace = "provider", name = "segmentation_id")
+ @XmlElement (name = "provider:segmentation_id")
+ // @XmlElement (namespace="provider", name="segmentation_id")
+
String providerSegmentationID; // provide segmentation ID (vlan ID)
@XmlElement (name = "status")
@XmlElement (name = "subnets")
List<String> subnets; // subnets (read-only)
+ @XmlElement (name="segments")
+ List<NeutronNetwork_Segment> segments;
+
/* This attribute lists the ports associated with an instance
* which is needed for determining if that instance can be deleted
*/
subnets.remove(uuid);
}
+ public void setSegments(List<NeutronNetwork_Segment> segments) {
+ this.segments = segments;
+ }
+
+ public List<NeutronNetwork_Segment> getSegments() {
+ return segments;
+ }
+
public List<NeutronPort> getPortsOnNetwork() {
return myPorts;
}
if (s.equals("tenant_id")) {
ans.setTenantID(this.getTenantID());
}
+ if (s.equals("router:external")) {
+ ans.setRouterExternal(this.getRouterExternal());
+ }
+ if (s.equals("provider:segmentation_id")) {
+ ans.setProviderSegmentationID(this.getProviderSegmentationID());
+ }
+ if (s.equals("provider:physical_network")) {
+ ans.setProviderPhysicalNetwork(this.getProviderPhysicalNetwork());
+ }
+ if (s.equals("provider:network_type")) {
+ ans.setProviderNetworkType(this.getProviderNetworkType());
+ }
}
return ans;
}
+ adminStateUp + ", shared=" + shared + ", tenantID=" + tenantID + ", routerExternal=" + routerExternal
+ ", providerNetworkType=" + providerNetworkType + ", providerPhysicalNetwork="
+ providerPhysicalNetwork + ", providerSegmentationID=" + providerSegmentationID + ", status=" + status
- + ", subnets=" + subnets + ", myPorts=" + myPorts + "]";
+ + ", subnets=" + subnets + ", myPorts=" + myPorts
+ + ", segments = " + segments + "]";
}
}
--- /dev/null
+/*
+ * 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.neutron.spi;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+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;
+
+@XmlRootElement(name = "network")
+@XmlAccessorType(XmlAccessType.NONE)
+
+public class NeutronNetwork_Segment implements Serializable {
+ // See OpenStack Network API v2.0 Reference for description of
+ // annotated attributes
+
+ private static final long serialVersionUID = 1L;
+
+ @XmlElement (defaultValue="flat", name="provider:network_type")
+ // @XmlElement (defaultValue="flat", namespace="provider", name="network_type")
+ String providerNetworkType; // provider network type (flat or vlan)
+
+ @XmlElement (name="provider:physical_network")
+ // @XmlElement (namespace="provider", name="physical_network")
+ String providerPhysicalNetwork; // provider physical network (name)
+
+ @XmlElement (name="provider:segmentation_id")
+ // @XmlElement (namespace="provider", name="segmentation_id")
+ String providerSegmentationID; // provide segmentation ID (vlan ID)
+
+ public NeutronNetwork_Segment() {
+ }
+
+ public String getProviderNetworkType() {
+ return providerNetworkType;
+ }
+
+ public void setProviderNetworkType(String providerNetworkType) {
+ this.providerNetworkType = providerNetworkType;
+ }
+
+ public String getProviderPhysicalNetwork() {
+ return providerPhysicalNetwork;
+ }
+
+ public void setProviderPhysicalNetwork(String providerPhysicalNetwork) {
+ this.providerPhysicalNetwork = providerPhysicalNetwork;
+ }
+
+ public String getProviderSegmentationID() {
+ return providerSegmentationID;
+ }
+
+ public void setProviderSegmentationID(String providerSegmentationID) {
+ this.providerSegmentationID = providerSegmentationID;
+ }
+
+ @Override
+ public String toString() {
+ return "NeutronNetwork_Segment [ " +
+ ", providerNetworkType=" + providerNetworkType +
+ ", providerPhysicalNetwork=" + providerPhysicalNetwork +
+ ", providerSegmentationID=" + providerSegmentationID + "]";
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (C) 2015 IBM, Inc.
+ *
+ * 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.neutron.spi;
+
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.opendaylight.neutron.spi.JaxbTestHelper;
+import org.opendaylight.neutron.spi.NeutronNetwork;
+
+public class NeutronNetworkJAXBTest {
+
+ private static final String NeutronNetwork_SingleProvider_sourceJson="{ " +
+ "\"status\": \"ACTIVE\", " +
+ "\"subnets\": [ \"3b80198d-4f7b-4f77-9ef5-774d54e17126\" ], " +
+ "\"name\": \"net1\", " +
+ "\"admin_state_up\": true, " +
+ "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
+ "\"router:external\": false, " +
+ "\"provider:segmentation_id\": \"2\", " +
+ "\"provider:physical_network\": \"8bab8453-1bc9-45af-8c70-f83aa9b50453\", " +
+ "\"provider:network_type\": \"vlan\", " +
+ "\"shared\": false, " +
+ "\"id\": \"4e8e5957-649f-477b-9e5b-f1f75b21c03c\" }";
+
+ @Test
+ public void test_NeutronNetwork_SingleProvider_JAXB() {
+ NeutronNetwork dummyObject = new NeutronNetwork();
+ try {
+ NeutronNetwork testObject = (NeutronNetwork) JaxbTestHelper.jaxbUnmarshall(dummyObject, NeutronNetwork_SingleProvider_sourceJson);
+ Assert.assertEquals("NeutronNetwork JAXB Test 1: Testing id failed",
+ "4e8e5957-649f-477b-9e5b-f1f75b21c03c", testObject.getID());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 2: Testing tenant_id failed",
+ "9bacb3c5d39d41a79512987f338cf177", testObject.getTenantID());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 3: Testing physical network id failed",
+ "8bab8453-1bc9-45af-8c70-f83aa9b50453", testObject.getProviderPhysicalNetwork());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 4: Testing status failed",
+ "ACTIVE", testObject.getStatus());
+
+ List<String> subnets = testObject.getSubnets();
+ Assert.assertEquals("NeutronNetwork JAXB Test 5.1: Testing subnets list length failed",
+ 1, subnets.size());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 5.2: Testing subnets value failed",
+ "3b80198d-4f7b-4f77-9ef5-774d54e17126", subnets.get(0));
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 6: Testing name failed",
+ "net1", testObject.getNetworkName());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 7: Testing admin state up failed",
+ true, testObject.getAdminStateUp());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 8: Testing router external failed",
+ false, testObject.getRouterExternal());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 9: Testing provider segmentation id failed",
+ "2", testObject.getProviderSegmentationID());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 10: Testing provider network type id failed",
+ "vlan", testObject.getProviderNetworkType());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 11: Testing shared failed",
+ false, testObject.getShared());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static final String NeutronNetwork_MultipleProvider_sourceJson="{" +
+ "\"status\": \"ACTIVE\", " +
+ "\"subnets\": [ \"3b80198d-4f7b-4f77-9ef5-774d54e17126\" ], " +
+ "\"name\": \"net1\", " +
+ "\"admin_state_up\": true, " +
+ "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
+ "\"router:external\": false, " +
+ "\"segments\": [ { " +
+ "\"provider:segmentation_id\": \"2\", " +
+ "\"provider:physical_network\": \"8bab8453-1bc9-45af-8c70-f83aa9b50453\", " +
+ "\"provider:network_type\": \"vlan\" }, " +
+ "{ \"provider:segmentation_id\": null, " +
+ "\"provider:physical_network\": \"8bab8453-1bc9-45af-8c70-f83aa9b50454\", " +
+ "\"provider:network_type\": \"stt\" } ], " +
+ "\"shared\": false, " +
+ "\"id\": \"4e8e5957-649f-477b-9e5b-f1f75b21c03c\" }";
+
+ @Test
+ public void test_NeutronNetwork_MultipleProvider_JAXB() {
+ NeutronNetwork dummyObject = new NeutronNetwork();
+ try {
+ NeutronNetwork testObject = (NeutronNetwork) JaxbTestHelper.jaxbUnmarshall(dummyObject, NeutronNetwork_MultipleProvider_sourceJson);
+ Assert.assertEquals("NeutronNetwork JAXB Test 1: Testing id failed",
+ "4e8e5957-649f-477b-9e5b-f1f75b21c03c", testObject.getID());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 2: Testing tenant_id failed",
+ "9bacb3c5d39d41a79512987f338cf177", testObject.getTenantID());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 3: Testing status failed",
+ "ACTIVE", testObject.getStatus());
+
+ List<String> subnets = testObject.getSubnets();
+ Assert.assertEquals("NeutronNetwork JAXB Test 4.1: Testing subnets list length failed",
+ 1, subnets.size());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 4.2: Testing subnets value failed",
+ "3b80198d-4f7b-4f77-9ef5-774d54e17126", subnets.get(0));
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 5: Testing name failed",
+ "net1", testObject.getNetworkName());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 6: Testing admin state up failed",
+ true, testObject.getAdminStateUp());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 7: Testing router external failed",
+ false, testObject.getRouterExternal());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 8: Testing shared failed",
+ false, testObject.getShared());
+
+ List<NeutronNetwork_Segment> segments = testObject.getSegments();
+ Assert.assertEquals("NeutronNetwork JAXB Test 9.1: Testing segments list length failed",
+ 2, segments.size());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 9.2: Testing segment index 0 segmentation id failed",
+ "2", segments.get(0).getProviderSegmentationID());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 9.3: Testing segment index 0 physical network failed",
+ "8bab8453-1bc9-45af-8c70-f83aa9b50453", segments.get(0).getProviderPhysicalNetwork());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 9.4: Testing segment index 0 network type failed",
+ "vlan", segments.get(0).getProviderNetworkType());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 9.5: Testing segment index 1 segmentation id failed",
+ null, segments.get(1).getProviderSegmentationID());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 9.3: Testing segment index 1 physical network failed",
+ "8bab8453-1bc9-45af-8c70-f83aa9b50454", segments.get(1).getProviderPhysicalNetwork());
+
+ Assert.assertEquals("NeutronNetwork JAXB Test 9.4: Testing segment index 1 network type failed",
+ "stt", segments.get(1).getProviderNetworkType());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}