From: Tony Tkacik Date: Mon, 10 Nov 2014 08:53:44 +0000 (+0000) Subject: Merge "Fix raw types in Neutron northbound" X-Git-Tag: release/lithium~909 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=b3bf00226d83387a060d97a4f573377f07e93b5a;hp=c181b0ab3202b1d5d87d6048d85c787fde090b8a Merge "Fix raw types in Neutron northbound" --- diff --git a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronNetworkRequest.java b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronNetworkRequest.java index a4c113c2c1..2001fb758a 100644 --- a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronNetworkRequest.java +++ b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronNetworkRequest.java @@ -9,17 +9,15 @@ package org.opendaylight.controller.networkconfig.neutron.northbound; 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.networkconfig.neutron.NeutronNetwork; @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) -public class NeutronNetworkRequest implements INeutronRequest { +public class NeutronNetworkRequest implements INeutronRequest { // See OpenStack Network API v2.0 Reference for description of // annotated attributes @@ -50,14 +48,17 @@ public class NeutronNetworkRequest implements INeutronRequest { singletonNetwork = net; } + @Override public NeutronNetwork getSingleton() { return singletonNetwork; } + @Override public boolean isSingleton() { return (singletonNetwork != null); } + @Override public List getBulk() { return bulkRequest; } diff --git a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronPortRequest.java b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronPortRequest.java index 12b58aa2ab..3bfac8a4fd 100644 --- a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronPortRequest.java +++ b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronPortRequest.java @@ -9,17 +9,15 @@ package org.opendaylight.controller.networkconfig.neutron.northbound; 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.networkconfig.neutron.NeutronPort; @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) -public class NeutronPortRequest implements INeutronRequest { +public class NeutronPortRequest implements INeutronRequest { // See OpenStack Network API v2.0 Reference for description of // annotated attributes @@ -50,14 +48,17 @@ public class NeutronPortRequest implements INeutronRequest { singletonPort = port; } + @Override public NeutronPort getSingleton() { return singletonPort; } + @Override public boolean isSingleton() { return (singletonPort != null); } + @Override public List getBulk() { return bulkRequest; } diff --git a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSubnetRequest.java b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSubnetRequest.java index 57a724c1cc..4c230c525b 100644 --- a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSubnetRequest.java +++ b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSubnetRequest.java @@ -9,18 +9,15 @@ package org.opendaylight.controller.networkconfig.neutron.northbound; 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.networkconfig.neutron.NeutronSubnet; @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) - -public class NeutronSubnetRequest implements INeutronRequest { +public class NeutronSubnetRequest implements INeutronRequest { // See OpenStack Network API v2.0 Reference for description of // annotated attributes @@ -54,14 +51,17 @@ public class NeutronSubnetRequest implements INeutronRequest { links = null; } + @Override public NeutronSubnet getSingleton() { return singletonSubnet; } + @Override public List getBulk() { return bulkRequest; } + @Override public boolean isSingleton() { return (singletonSubnet != null); } diff --git a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/PaginatedRequestFactory.java b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/PaginatedRequestFactory.java index 8f05e76e18..5f9653f902 100644 --- a/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/PaginatedRequestFactory.java +++ b/opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/PaginatedRequestFactory.java @@ -10,6 +10,11 @@ package org.opendaylight.controller.networkconfig.neutron.northbound; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import javax.ws.rs.core.UriInfo; import org.opendaylight.controller.networkconfig.neutron.INeutronObject; import org.opendaylight.controller.networkconfig.neutron.NeutronNetwork; import org.opendaylight.controller.networkconfig.neutron.NeutronPort; @@ -17,12 +22,6 @@ import org.opendaylight.controller.networkconfig.neutron.NeutronSubnet; import org.opendaylight.controller.northbound.commons.exception.BadRequestException; import org.opendaylight.controller.northbound.commons.exception.ResourceNotFoundException; -import javax.ws.rs.core.UriInfo; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - public class PaginatedRequestFactory { public static class PaginationResults { @@ -35,26 +34,33 @@ public class PaginatedRequestFactory { } } - public static INeutronRequest createRequest(Integer limit, String marker, + /* + * SuppressWarnings is needed because the compiler does not understand that we + * are actually safe here. + * + * FIXME: the only caller performs a cast back, so this is not actually necessary. + */ + @SuppressWarnings("unchecked") + public static INeutronRequest createRequest(Integer limit, String marker, Boolean pageReverse, UriInfo uriInfo, List collection, Class clazz) { - PaginationResults results = _paginate(limit, marker, pageReverse, uriInfo, collection); + PaginationResults results = _paginate(limit, marker, pageReverse, uriInfo, collection); if (clazz.equals(NeutronNetwork.class)){ - return new NeutronNetworkRequest(results.collection, results.links); + return (INeutronRequest) new NeutronNetworkRequest((List) results.collection, results.links); } if (clazz.equals(NeutronSubnet.class)){ - return new NeutronSubnetRequest(results.collection, results.links); + return (INeutronRequest) new NeutronSubnetRequest((List) results.collection, results.links); } if (clazz.equals(NeutronPort.class)){ - return new NeutronPortRequest(results.collection, results.links); + return (INeutronRequest) new NeutronPortRequest((List) results.collection, results.links); } return null; } - private static PaginationResults _paginate(Integer limit, String marker, Boolean pageReverse, UriInfo uriInfo, List collection) { + private static PaginationResults _paginate(Integer limit, String marker, Boolean pageReverse, UriInfo uriInfo, List collection) { List links = new ArrayList<>(); Integer startPos = null; String startMarker; @@ -80,10 +86,12 @@ public class PaginatedRequestFactory { class MarkerObject implements INeutronObject { private String id; + @Override public String getID() { return id; } + @Override public void setID(String id) { this.id = id; } @@ -149,6 +157,6 @@ public class PaginatedRequestFactory { links.add(previous); } - return new PaginationResults(collection, links); + return new PaginationResults(collection, links); } }