sort out signature of extraceField method 18/45018/1
authorIsaku Yamahata <isaku.yamahata@intel.com>
Thu, 1 Sep 2016 16:21:33 +0000 (09:21 -0700)
committerIsaku Yamahata <isaku.yamahata@intel.com>
Thu, 1 Sep 2016 16:28:30 +0000 (09:28 -0700)
So far, the signature of extractField was not defined cleanly.
Define it clean and simplify convoluted code due to it.

Change-Id: I48387b8df50bd019a735e6272a3850adfd10b0d5
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
67 files changed:
neutron-spi/src/main/java/org/opendaylight/neutron/spi/INeutronCRUD.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/INeutronObject.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronBgpvpn.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronFirewall.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronFirewallPolicy.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronFirewallRule.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronFloatingIP.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronL2gateway.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronL2gatewayConnection.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronLoadBalancer.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronLoadBalancerHealthMonitor.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronLoadBalancerListener.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronLoadBalancerPool.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronLoadBalancerPoolMember.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronMeteringLabel.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronMeteringLabelRule.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronNetwork.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronObject.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronPort.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronQosBandwidthRule.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronQosDscpMarkingRule.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronQosPolicy.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronRouter.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronRouter_Interface.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronSFCFlowClassifier.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronSFCPortChain.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronSFCPortPair.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronSFCPortPairGroup.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronSecurityGroup.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronSecurityRule.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronSubnet.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronVPNIKEPolicy.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronVPNIPSECPolicy.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronVPNIPSECSiteConnection.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronVPNService.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/AbstractNeutronNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/INeutronRequest.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronBgpvpnsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronFirewallNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronFirewallPolicyNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronFirewallRulesNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronFloatingIPsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronL2gatewayConnectionNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronL2gatewayNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronLoadBalancerHealthMonitorNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronLoadBalancerListenerNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronLoadBalancerNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronLoadBalancerPoolNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronMeteringLabelRulesNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronMeteringLabelsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronNetworksNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronPortsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronQosPolicyNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronRoutersNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronSFCFlowClassifiersNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronSFCPortChainsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronSFCPortPairGroupsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronSFCPortPairsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronSecurityGroupsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronSecurityRulesNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronSubnetsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronVPNIKEPoliciesNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronVPNIPSECPoliciesNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronVPNIPSECSiteConnectionsNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronVPNServicesNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/PaginatedRequestFactory.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/AbstractNeutronInterface.java

index 7c1467ad6d30ed7d010a1d2a6006459947596054..f5504ae250dd36d9dffd9e05cb36b0f8853fd569 100644 (file)
@@ -15,7 +15,7 @@ import java.util.List;
  *
  */
 
-public interface INeutronCRUD<T extends INeutronObject> {
+public interface INeutronCRUD<T extends INeutronObject<T>> {
     /**
      * Applications call this interface method to determine if a particular
      * Neutron object exists
index 9131a81380094826c36869ecef40024cb71f9c7a..2892521358871660e3fa6c1f10a91bc8e51fc055 100644 (file)
@@ -8,12 +8,14 @@
 
 package org.opendaylight.neutron.spi;
 
+import java.util.List;
+
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 
 /**
  * This class contains behaviour common to Neutron configuration objects
  */
-public interface INeutronObject {
+public interface INeutronObject<T extends INeutronObject> {
 
     String getID();
 
@@ -26,4 +28,6 @@ public interface INeutronObject {
     void setTenantID(Uuid tenantID);
 
     void initDefaults();
+
+    T extractFields(List<String> fields);
 }
index b1fa1c0b0a298a3d26d6d5e9699c9063193dd530..d0b1d39c1c866f684464d34666db5bcc3ec33615 100644 (file)
@@ -18,7 +18,7 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement(name = "bgpvpn")
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronBgpvpn extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronBgpvpn extends NeutronObject<NeutronBgpvpn> implements Serializable, INeutronObject<NeutronBgpvpn> {
     // See OpenStack Network API v2.0 Reference for description of
     // annotated attributes
 
index 5c795da431a2ea8d5e7e26e5625e1b202bc4fd8d..dc78d1ab69aac1d0e417eb5abc511b700bca928f 100644 (file)
@@ -34,8 +34,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronFirewall extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronFirewall extends NeutronObject<NeutronFirewall>
+        implements Serializable, INeutronObject<NeutronFirewall> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index 8a5beaa451bcd4998cca711368f5c7bdc4ee5f22..be874befcbb049660d5ead66db91de1a23a40dca 100644 (file)
@@ -33,8 +33,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronFirewallPolicy extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronFirewallPolicy extends NeutronObject<NeutronFirewallPolicy>
+        implements Serializable, INeutronObject<NeutronFirewallPolicy> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index 645db26d0602cd427c9b1eda698c7284ebeeeb14..3fca004f89e6901c60295959e6d569d09fe6ae4e 100644 (file)
@@ -45,8 +45,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronFirewallRule extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronFirewallRule extends NeutronObject<NeutronFirewallRule>
+        implements Serializable, INeutronObject<NeutronFirewallRule> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index 9cfa83e8b7139795617d86ec5f48a774354e0885..1f3138175ff067f68cba1394fcb251f9c72eb943 100644 (file)
@@ -18,8 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronFloatingIP extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronFloatingIP
+        extends NeutronObject<NeutronFloatingIP> implements Serializable, INeutronObject<NeutronFloatingIP> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
index d1ca0596595e0352f44d017614dfbc8f5a6570d4..88a6afdaa3a4a640d04716777e33fedb9ca2edfb 100644 (file)
@@ -16,7 +16,8 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement(name = "l2gateway")
-public class NeutronL2gateway extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronL2gateway extends NeutronObject<NeutronL2gateway>
+        implements Serializable, INeutronObject<NeutronL2gateway> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
@@ -70,4 +71,4 @@ public class NeutronL2gateway extends NeutronObject implements Serializable, INe
                 + ", devices = " + neutronL2gatewayDevices + "]";
     }
 
-}
\ No newline at end of file
+}
index 148ac07471d3e35af132f9efcb8760111acdc37a..83315ef68ed575db4556e37419876e75d9f5449b 100644 (file)
@@ -18,8 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement(name = "l2gatewayConnection")
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronL2gatewayConnection extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronL2gatewayConnection extends NeutronObject<NeutronL2gatewayConnection>
+        implements Serializable, INeutronObject<NeutronL2gatewayConnection> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "gateway_id")
index 3e8795f992a09e865dcd1a244fc858704ee91614..3304927c30a082ef68f7de1797ea68addc5a5a5a 100644 (file)
@@ -33,8 +33,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronLoadBalancer extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronLoadBalancer extends NeutronObject<NeutronLoadBalancer>
+        implements Serializable, INeutronObject<NeutronLoadBalancer> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index 336a6bcb66c54ae9457796bf4e8fe9b53cd4b051..09444648a976ed09237ecf0514b73d71bca55d9f 100644 (file)
@@ -39,8 +39,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronLoadBalancerHealthMonitor extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronLoadBalancerHealthMonitor extends NeutronObject<NeutronLoadBalancerHealthMonitor>
+        implements Serializable, INeutronObject<NeutronLoadBalancerHealthMonitor> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "type")
index 5383a14426606bc624f652f5e806ba8a3ace6c05..037ce96dc9bbc3a0813af1a0229f5912aaa2b398 100644 (file)
@@ -38,8 +38,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronLoadBalancerListener extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronLoadBalancerListener extends NeutronObject<NeutronLoadBalancerListener>
+        implements Serializable, INeutronObject<NeutronLoadBalancerListener> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "default_pool_id")
index 9acc69ee9fd9f8714e96ce30cb04ccd29a6e63a8..46544559312692786d0290806e524ecbf7724e79 100644 (file)
@@ -36,8 +36,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronLoadBalancerPool extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronLoadBalancerPool extends NeutronObject<NeutronLoadBalancerPool>
+        implements Serializable, INeutronObject<NeutronLoadBalancerPool> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index 893b65637a3643eee0e0ce4361e9f0d216ddf239..de4401b1b2e0f88515006ce108cc8260cc436a38 100644 (file)
@@ -19,8 +19,8 @@ import javax.xml.bind.annotation.XmlTransient;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronLoadBalancerPoolMember extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronLoadBalancerPoolMember extends NeutronObject<NeutronLoadBalancerPoolMember>
+        implements Serializable, INeutronObject<NeutronLoadBalancerPoolMember> {
 
     private static final long serialVersionUID = 1L;
 
index 726c3ffc2e26e317e71307a4f9541d71bfe5f4ae..8327f2bb20bff7736e2db7c6cafbd636518ce47c 100644 (file)
@@ -18,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronMeteringLabel extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronMeteringLabel extends NeutronObject<NeutronMeteringLabel>
+        implements Serializable, INeutronObject<NeutronMeteringLabel> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index ed5ea1a078807ca991400a26ba24511f6d857dd6..e4356487a7c13213ccb962dd8f2e5397d6a7acb9 100644 (file)
@@ -18,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronMeteringLabelRule extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronMeteringLabelRule extends NeutronObject<NeutronMeteringLabelRule>
+        implements Serializable, INeutronObject<NeutronMeteringLabelRule> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "direction")
index 571c4e18a89f6280ba32478606f83cc1892c2cf9..059d9e4e047b07b762cb2525b8aae4e21fb8228c 100644 (file)
@@ -18,8 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement(name = "network")
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronNetwork extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronNetwork extends NeutronObject<NeutronNetwork>
+        implements Serializable, INeutronObject<NeutronNetwork> {
     // See OpenStack Network API v2.0 Reference for description of
     // annotated attributes
 
index f6547053dbffc56bb6a3b730faa5a341bea2f57c..d80a1ffbcf00a87927c598fcd4b69b36e4789f8f 100644 (file)
@@ -11,6 +11,7 @@ package org.opendaylight.neutron.spi;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import java.io.Serializable;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
@@ -19,7 +20,8 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronObject extends Neutron_ID implements Serializable, INeutronObject {
+public abstract class NeutronObject<T extends NeutronObject> extends Neutron_ID
+        implements Serializable, INeutronObject<T> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "tenant_id")
@@ -58,4 +60,7 @@ public class NeutronObject extends Neutron_ID implements Serializable, INeutronO
     @Override
     public void initDefaults() {
     }
+
+    @Override
+    public abstract T extractFields(List<String> fields);
 }
index b1737543079ea6f5075791d0c21e7b5c4509af4e..6bbed0399bba5b63203b2aa87113101600f9fd81 100644 (file)
@@ -21,7 +21,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronPort extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronPort extends NeutronObject<NeutronPort> implements Serializable, INeutronObject<NeutronPort> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
index 0e97d3cc0e1dbb70509c1bac444ca0067adb21d9..1dd3ae262baa0a8122156d99f83e3d643b908b55 100644 (file)
@@ -19,7 +19,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronQosBandwidthRule extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronQosBandwidthRule extends NeutronObject<NeutronQosBandwidthRule>
+        implements Serializable, INeutronObject<NeutronQosBandwidthRule> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "max_kbps")
index a3202dcdc4dd9f4e910fe4b3d5fe4664595a68af..6c4868d7a4362a974c4d163d2e0b799b0886ac92 100644 (file)
@@ -18,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronQosDscpMarkingRule extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronQosDscpMarkingRule extends NeutronObject<NeutronQosDscpMarkingRule>
+        implements Serializable, INeutronObject<NeutronQosDscpMarkingRule> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "dscp_mark")
index 161860fd49ab610e82fa25c0fef0d19798632e1c..0a18605d7bf278de49006aa0d8d28eb4878d314b 100644 (file)
@@ -19,7 +19,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronQosPolicy extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronQosPolicy extends NeutronObject<NeutronQosPolicy>
+        implements Serializable, INeutronObject<NeutronQosPolicy> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index 66df248bc2a505f7c3c0a74050f90f2fa68a0bb1..ec7c694aadf5f9d8a16e2ad8ea8042576e923d01 100644 (file)
@@ -18,8 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronRouter extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronRouter extends NeutronObject<NeutronRouter>
+        implements Serializable, INeutronObject<NeutronRouter> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
index 3e6a25e3669f595974bc7573b0535a880b93f2ee..7589ea74bc51561e45cecd63bd0c2107ef8dab42 100644 (file)
@@ -9,6 +9,8 @@
 package org.opendaylight.neutron.spi;
 
 import java.io.Serializable;
+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;
@@ -16,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronRouter_Interface extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronRouter_Interface extends NeutronObject<NeutronRouter_Interface>
+        implements Serializable, INeutronObject<NeutronRouter_Interface> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
@@ -52,6 +55,28 @@ public class NeutronRouter_Interface extends NeutronObject implements Serializab
         this.portUUID = portUUID;
     }
 
+    @Override
+    public NeutronRouter_Interface extractFields(List<String> fields) {
+        NeutronRouter_Interface ans = new NeutronRouter_Interface();
+        Iterator<String> i = fields.iterator();
+        while (i.hasNext()) {
+            String s = i.next();
+            if (s.equals("id")) {
+                ans.setID(this.getID());
+            }
+            if (s.equals("tenant_id")) {
+                ans.setTenantID(this.getTenantID());
+            }
+            if (s.equals("subnet_id")) {
+                ans.setSubnetUUID(this.getSubnetUUID());
+            }
+            if (s.equals("port_id")) {
+                ans.setPortUUID(this.getPortUUID());
+            }
+        }
+        return ans;
+    }
+
     @Override
     public String toString() {
         return "NeutronRouterInterface [" + "subnetUUID=" + subnetUUID + ", portUUID=" + portUUID + ", id=" + uuid
index 67e4c9150add7816bfba42edb05e3c5ed968255e..0b5bddd052fdd09b8c69b79d28cdf04ff61e012e 100644 (file)
@@ -20,8 +20,8 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronSFCFlowClassifier extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronSFCFlowClassifier extends NeutronObject<NeutronSFCFlowClassifier>
+        implements Serializable, INeutronObject<NeutronSFCFlowClassifier> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Networking SFC (networking-sfc) API v1.0 Reference for description of
index 9a34bc6da70f3ad845ae1b99ab1ac0113a6e95ae..a5f9bc34dbb4bbcf99f3463342802410a716dbe6 100644 (file)
@@ -19,8 +19,8 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronSFCPortChain extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronSFCPortChain extends NeutronObject<NeutronSFCPortChain>
+        implements Serializable, INeutronObject<NeutronSFCPortChain> {
 
     private static final long serialVersionUID = 1L;
 
index f0d16ca4c0aa0b6d96e97c66bdca7520647a496a..488ae49bc4e907714a222e6ef0f919e49b985c55 100644 (file)
@@ -20,8 +20,8 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronSFCPortPair extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronSFCPortPair extends NeutronObject<NeutronSFCPortPair>
+        implements Serializable, INeutronObject<NeutronSFCPortPair> {
 
     private static final long serialVersionUID = 1L;
 
index ae0dd35bd632f46d458d1e9b651e9f9cf360251b..9841a7c49387322edf4fa55419807b85ce62d338 100644 (file)
@@ -17,8 +17,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronSFCPortPairGroup extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronSFCPortPairGroup extends NeutronObject<NeutronSFCPortPairGroup>
+        implements Serializable, INeutronObject<NeutronSFCPortPairGroup> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Networking SFC (networking-sfc) Port Pair Group API v1.0
index f0cab37d96a5cf5e5b27ace297ff382177fe4960..527fc21eda7a66509513c5c842d4c88fbd0fbfd1 100644 (file)
@@ -28,8 +28,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronSecurityGroup extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronSecurityGroup extends NeutronObject<NeutronSecurityGroup>
+        implements Serializable, INeutronObject<NeutronSecurityGroup> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "name")
index db2d4d90efc4155d1ca20d747a62b4a77d0256ae..87f33ce4d59db7195ee4af410fb1691778656479 100644 (file)
@@ -34,8 +34,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronSecurityRule extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronSecurityRule extends NeutronObject<NeutronSecurityRule>
+        implements Serializable, INeutronObject<NeutronSecurityRule> {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name = "direction")
index 4b4b3f020c1ddbe2841458a75fd518d8f7759554..0c9cf9de34f7954be5ab5627a6b26cb5308b6c29 100644 (file)
@@ -27,8 +27,8 @@ import org.slf4j.LoggerFactory;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-
-public class NeutronSubnet extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronSubnet extends NeutronObject<NeutronSubnet>
+        implements Serializable, INeutronObject<NeutronSubnet> {
     private static final Logger LOGGER = LoggerFactory.getLogger(NeutronCRUDInterfaces.class);
 
     private static final long serialVersionUID = 1L;
index 54ec75e50a69f13f0dc4c36fd2b61a39ce3e78f5..4685298aa5d42f8bba18b7ec68c11d896d947d92 100644 (file)
@@ -18,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronVPNIKEPolicy extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronVPNIKEPolicy extends NeutronObject<NeutronVPNIKEPolicy>
+        implements Serializable, INeutronObject<NeutronVPNIKEPolicy> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
index eee86a670a0bd24ced164debea2c4717bddd9641..845a42b043a6e2f1083b9af6258b91d97236ec8b 100644 (file)
@@ -18,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronVPNIPSECPolicy extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronVPNIPSECPolicy extends NeutronObject<NeutronVPNIPSECPolicy>
+        implements Serializable, INeutronObject<NeutronVPNIPSECPolicy> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
index aa14c704a439481a44a9faebee373b0169479038..b9db653dad70ca3bad485b7e32ed5c07c96f0268 100644 (file)
@@ -18,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronVPNIPSECSiteConnection extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronVPNIPSECSiteConnection extends NeutronObject<NeutronVPNIPSECSiteConnection>
+        implements Serializable, INeutronObject<NeutronVPNIPSECSiteConnection> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
index 432c994ece42ca486062d0d24710596d7bda56ea..2769c6c7cb5582e1c3f290eea4434f04f2c6195e 100644 (file)
@@ -18,7 +18,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
-public class NeutronVPNService extends NeutronObject implements Serializable, INeutronObject {
+public class NeutronVPNService extends NeutronObject<NeutronVPNService>
+        implements Serializable, INeutronObject<NeutronVPNService> {
     private static final long serialVersionUID = 1L;
 
     // See OpenStack Network API v2.0 Reference for description of
index 10508be7e1ab15454af9a57b7e1177ac319de173..7577ad7e8ec0771ed0473e08d7ff516df9d9a410 100644 (file)
@@ -16,7 +16,7 @@ import org.opendaylight.neutron.spi.INeutronObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public abstract class AbstractNeutronNorthbound<T extends INeutronObject, NeutronRequest extends INeutronRequest<T>,
+public abstract class AbstractNeutronNorthbound<T extends INeutronObject<T>, NeutronRequest extends INeutronRequest<T>,
         I extends INeutronCRUD<T>> {
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractNeutronNorthbound.class);
 
@@ -36,8 +36,6 @@ public abstract class AbstractNeutronNorthbound<T extends INeutronObject, Neutro
 
     protected abstract String getResourceName();
 
-    protected abstract T extractFields(T o, List<String> fields);
-
     protected abstract NeutronRequest newNeutronRequest(T o);
 
     protected abstract I getNeutronCRUD();
@@ -52,7 +50,7 @@ public abstract class AbstractNeutronNorthbound<T extends INeutronObject, Neutro
         }
 
         if (fields.size() > 0) {
-            return Response.status(HttpURLConnection.HTTP_OK).entity(newNeutronRequest(extractFields(ans, fields)))
+            return Response.status(HttpURLConnection.HTTP_OK).entity(newNeutronRequest(ans.extractFields(fields)))
                     .build();
         } else {
             return Response.status(HttpURLConnection.HTTP_OK).entity(newNeutronRequest(ans)).build();
index 0594ba80c8fff7659fdc8a069f6631137b9160aa..7a376b221a7b2fea1b7026bd7c45e6e08e7219e0 100644 (file)
@@ -12,7 +12,7 @@ import java.lang.reflect.Field;
 import java.util.List;
 import org.opendaylight.neutron.spi.INeutronObject;
 
-public interface INeutronRequest<T extends INeutronObject> {
+public interface INeutronRequest<T extends INeutronObject<T>> {
     default T getSingleton() {
         Class aClass = getClass();
         try {
index 3414e1eef00859e4fd98ebc1a35ceddab8f68644..013274d2c8a0cb3e6e0faf10cfe172c15e264ecf 100644 (file)
@@ -65,11 +65,6 @@ public class NeutronBgpvpnsNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronBgpvpn extractFields(NeutronBgpvpn o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronBgpvpnRequest newNeutronRequest(NeutronBgpvpn o) {
         return new NeutronBgpvpnRequest(o);
@@ -133,7 +128,7 @@ public class NeutronBgpvpnsNorthbound
                     && (bAutoAggregate == null || bAutoAggregate.booleanValue() == oSN.isAutoAggregate())
                     && (queryTenantID == null || queryTenantID.equals(oSN.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSN, fields));
+                    ans.add(oSN.extractFields(fields));
                 } else {
                     ans.add(oSN);
                 }
index 84003059878c8528df107385820f6da1d261f1d9..21319a63c2caf1e8f2de318abc8d1d31a3280b92 100644 (file)
@@ -56,11 +56,6 @@ public class NeutronFirewallNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronFirewall extractFields(NeutronFirewall o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronFirewallRequest newNeutronRequest(NeutronFirewall o) {
         return new NeutronFirewallRequest(o);
@@ -111,7 +106,7 @@ public class NeutronFirewallNorthbound
                     && (queryFirewallIsShared == null || queryFirewallIsShared.equals(nsg.getFirewallIsShared()))
                     && (queryFirewallPolicyID == null || queryFirewallPolicyID.equals(nsg.getFirewallPolicyID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
index 7879f9c8d43ab6c5c87beae4e5fb53bdb6a4560a..533948901bd89438c0b511d6db399f33dfdd3c22 100644 (file)
@@ -56,11 +56,6 @@ public class NeutronFirewallPolicyNorthbound extends
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronFirewallPolicy extractFields(NeutronFirewallPolicy o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronFirewallPolicyRequest newNeutronRequest(NeutronFirewallPolicy o) {
         return new NeutronFirewallPolicyRequest(o);
@@ -110,7 +105,7 @@ public class NeutronFirewallPolicyNorthbound extends
                     && (querySecurityPolicyIsAudited == null
                             || querySecurityPolicyIsAudited.equals(nsg.getFirewallPolicyIsAudited()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
index 7da21c265a33b68616845dc91ba26d637c2c3459..7cf05fa764436c974acd4952d46691d5720a9b89 100644 (file)
@@ -55,11 +55,6 @@ public class NeutronFirewallRulesNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronFirewallRule extractFields(NeutronFirewallRule o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronFirewallRuleRequest newNeutronRequest(NeutronFirewallRule o) {
         return new NeutronFirewallRuleRequest(o);
@@ -140,7 +135,7 @@ public class NeutronFirewallRulesNorthbound
                     && (queryFirewallRuleIsEnabled == null
                             || queryFirewallRuleIsEnabled.equals(nsr.getFirewallRuleIsEnabled()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsr, fields));
+                    ans.add(nsr.extractFields(fields));
                 } else {
                     ans.add(nsr);
                 }
index d4805f2b83c4bcae031d8311d5bcce2b12bb5e11..f720f331cc466e06431e17814d085cf92bb3a3dd 100644 (file)
@@ -57,11 +57,6 @@ public class NeutronFloatingIPsNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronFloatingIP extractFields(NeutronFloatingIP o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronFloatingIPRequest newNeutronRequest(NeutronFloatingIP o) {
         return new NeutronFloatingIPRequest(o);
@@ -139,7 +134,7 @@ public class NeutronFloatingIPsNorthbound
                     && (queryRouterID == null || queryRouterID.equals(oSS.getRouterUUID()))
                     && (queryTenantID == null || queryTenantID.equals(oSS.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index 051523f562e93611d21f464247e2914d0c8570e7..ec7c72195d34d0b3c5e7a6a99f3b648eee52d817 100644 (file)
@@ -66,11 +66,6 @@ public class NeutronL2gatewayConnectionNorthbound extends AbstractNeutronNorthbo
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronL2gatewayConnection extractFields(NeutronL2gatewayConnection o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronL2gatewayConnectionRequest newNeutronRequest(NeutronL2gatewayConnection o) {
         return new NeutronL2gatewayConnectionRequest(o);
@@ -144,7 +139,7 @@ public class NeutronL2gatewayConnectionNorthbound extends AbstractNeutronNorthbo
                     && (querySegmentID == null || querySegmentID.equals(oSS.getSegmentID()))
                     && (queryPortID == null || queryPortID.equals(oSS.getPortID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index f2e03eabedc14cd3c4f7e0e6dda601e837180358..7dc5f1edd9ee1055582487edd58bb2cc634997cc 100644 (file)
@@ -64,11 +64,6 @@ public class NeutronL2gatewayNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronL2gateway extractFields(NeutronL2gateway o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronL2gatewayRequest newNeutronRequest(NeutronL2gateway o) {
         return new NeutronL2gatewayRequest(o);
@@ -140,7 +135,7 @@ public class NeutronL2gatewayNorthbound
                     && (queryNeutronL2gatewayDevice == null
                             || queryNeutronL2gatewayDevice.equals(l2gateway.getNeutronL2gatewayDevices()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(l2gateway, fields));
+                    ans.add(l2gateway.extractFields(fields));
                 } else {
                     ans.add(l2gateway);
                 }
index a5334ae5dc529b0566c89ffe48bf38123f3c9df4..c2728f4ab3a81ed7b64d2a814b8709245b5566ea 100644 (file)
@@ -58,11 +58,6 @@ public class NeutronLoadBalancerHealthMonitorNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronLoadBalancerHealthMonitor extractFields(NeutronLoadBalancerHealthMonitor o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronLoadBalancerHealthMonitorRequest newNeutronRequest(NeutronLoadBalancerHealthMonitor o) {
         return new NeutronLoadBalancerHealthMonitorRequest(o);
@@ -136,7 +131,7 @@ public class NeutronLoadBalancerHealthMonitorNorthbound
                             || queryLoadBalancerHealthMonitorIsAdminStateUp
                                     .equals(nsg.getLoadBalancerHealthMonitorAdminStateIsUp()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
index bc5ed89a27af44c7e24627bee602062dbef3cfbf..a1a3059b0ad06a9fe4baac4290ae9187018b7576 100644 (file)
@@ -57,11 +57,6 @@ public class NeutronLoadBalancerListenerNorthbound extends AbstractNeutronNorthb
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronLoadBalancerListener extractFields(NeutronLoadBalancerListener o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronLoadBalancerListenerRequest newNeutronRequest(NeutronLoadBalancerListener o) {
         return new NeutronLoadBalancerListenerRequest(o);
@@ -122,7 +117,7 @@ public class NeutronLoadBalancerListenerNorthbound extends AbstractNeutronNorthb
                     && (queryLoadBalancerListenerAdminIsUp == null || queryLoadBalancerListenerAdminIsUp
                             .equals(nsg.getLoadBalancerListenerAdminStateIsUp()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
index a8c9e39f53d1714df179a0f88622b0c3e5e64a1f..163c5268426083e0979b01df9db4d0664461dde6 100644 (file)
@@ -57,11 +57,6 @@ public class NeutronLoadBalancerNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronLoadBalancer extractFields(NeutronLoadBalancer o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronLoadBalancerRequest newNeutronRequest(NeutronLoadBalancer o) {
         return new NeutronLoadBalancerRequest(o);
@@ -115,7 +110,7 @@ public class NeutronLoadBalancerNorthbound
                     && (queryLoadBalancerVipSubnet == null
                             || queryLoadBalancerVipSubnet.equals(nsg.getLoadBalancerVipSubnetID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
index 49156a0ab8ad4a8d0123cb3d89c247b4a009cfa9..399d834944dc8f69aa754e1589a8ce483b0c8345 100644 (file)
@@ -64,15 +64,6 @@ public class NeutronLoadBalancerPoolNorthbound extends AbstractNeutronNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronLoadBalancerPool extractFields(NeutronLoadBalancerPool o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
-    protected NeutronLoadBalancerPoolMember extractFields(NeutronLoadBalancerPoolMember o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronLoadBalancerPoolRequest newNeutronRequest(NeutronLoadBalancerPool o) {
         return new NeutronLoadBalancerPoolRequest(o);
@@ -135,7 +126,7 @@ public class NeutronLoadBalancerPoolNorthbound extends AbstractNeutronNorthbound
                     && (queryLoadBalancerPoolMembers.size() == 0
                             || queryLoadBalancerPoolMembers.equals(nsg.getLoadBalancerPoolMembers()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
@@ -255,7 +246,7 @@ public class NeutronLoadBalancerPoolNorthbound extends AbstractNeutronNorthbound
                     && (queryLoadBalancerPoolMemberSubnetID == null
                             || queryLoadBalancerPoolMemberSubnetID.equals(nsg.getPoolMemberSubnetID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
@@ -293,7 +284,7 @@ public class NeutronLoadBalancerPoolNorthbound extends AbstractNeutronNorthbound
 
             if (fields.size() > 0) {
                 return Response.status(HttpURLConnection.HTTP_OK)
-                        .entity(new NeutronLoadBalancerPoolMemberRequest(extractFields(ans, fields))).build();
+                        .entity(new NeutronLoadBalancerPoolMemberRequest(ans.extractFields(fields))).build();
             } else {
                 return Response.status(HttpURLConnection.HTTP_OK).entity(new NeutronLoadBalancerPoolMemberRequest(ans))
                         .build();
index 6b4e69cfa3de2208ca734737ca49f414a9b7868d..263f2b0a41d11ceac48a8aad0e4b98dfe702e7b2 100644 (file)
@@ -58,11 +58,6 @@ public class NeutronMeteringLabelRulesNorthbound extends AbstractNeutronNorthbou
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronMeteringLabelRule extractFields(NeutronMeteringLabelRule o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected INeutronMeteringLabelRuleCRUD getNeutronCRUD() {
         NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronMeteringLabelRuleCRUD(this);
@@ -112,7 +107,7 @@ public class NeutronMeteringLabelRulesNorthbound extends AbstractNeutronNorthbou
                             || queryRemoteIPPrefix.equals(oSS.getMeteringLabelRuleRemoteIPPrefix()))
                     && (queryLabelID == null || queryLabelID.equals(oSS.getMeteringLabelRuleLabelID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index 4374cc5a1215cfd2d59e9bb55c8cc31fcb7393a1..69d44a5d8747721de83ba3b406dd1c8109d1e792 100644 (file)
@@ -58,11 +58,6 @@ public class NeutronMeteringLabelsNorthbound extends
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronMeteringLabel extractFields(NeutronMeteringLabel o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected INeutronMeteringLabelCRUD getNeutronCRUD() {
         NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronMeteringLabelCRUD(this);
@@ -109,7 +104,7 @@ public class NeutronMeteringLabelsNorthbound extends
                     && (queryName == null || queryName.equals(oSS.getMeteringLabelName()))
                     && (queryTenantID == null || queryTenantID.equals(oSS.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index 263398a1ce5eafd80ef285dd415ccad3cba7e7d0..05f03444bff799209c39c7f507714d909aa345c9 100644 (file)
@@ -65,11 +65,6 @@ public class NeutronNetworksNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronNetwork extractFields(NeutronNetwork o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronNetworkRequest newNeutronRequest(NeutronNetwork o) {
         return new NeutronNetworkRequest(o);
@@ -143,7 +138,7 @@ public class NeutronNetworksNorthbound
                     && (queryTenantID == null || queryTenantID.equals(oSN.getTenantID()))
                     && (queryQosPolicyId == null || queryQosPolicyId.equals(oSN.getQosPolicyId()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSN, fields));
+                    ans.add(oSN.extractFields(fields));
                 } else {
                     ans.add(oSN);
                 }
index d7f5dbb7aa32f11a4c43313dd20f978d7ddcfc54..32ef7dd6f72d518647440e3cad4735f9859ed4d2 100644 (file)
@@ -61,11 +61,6 @@ public class NeutronPortsNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronPort extractFields(NeutronPort o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     private NeutronCRUDInterfaces getNeutronInterfaces(boolean needNetworks, boolean needSubnets) {
         NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronPortCRUD(this);
         if (answer.getPortInterface() == null) {
@@ -151,7 +146,7 @@ public class NeutronPortsNorthbound
                             || queryPortSecurityEnabled.equals(oSS.getPortSecurityEnabled()))
                     && (queryQosPolicyId == null || queryQosPolicyId.equals(oSS.getQosPolicyId()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index 78832ea4cb633286469392fbb04743629410d0d7..9060f0f33f5c5501f9802a88d45251c0910f783d 100644 (file)
@@ -39,11 +39,6 @@ public class NeutronQosPolicyNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronQosPolicy extractFields(NeutronQosPolicy o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronQosPolicyRequest newNeutronRequest(NeutronQosPolicy o) {
         return new NeutronQosPolicyRequest(o);
@@ -87,7 +82,7 @@ public class NeutronQosPolicyNorthbound
                     && (queryQosPolicyName == null || queryQosPolicyName.equals(nsg.getQosPolicyName()))
                     && (queryQosPolicyIsShared == null || queryQosPolicyIsShared.equals(nsg.getPolicyIsShared()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
index 5d90070cd2f2589192989e73b25a3a44c8861c94..0443007a7e14aeaa352ceb64366cf1504d0333b0 100644 (file)
@@ -60,11 +60,6 @@ public class NeutronRoutersNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronRouter extractFields(NeutronRouter o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     private NeutronCRUDInterfaces getNeutronInterfaces(boolean flag) {
         NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronRouterCRUD(this);
         if (answer.getRouterInterface() == null) {
@@ -149,7 +144,7 @@ public class NeutronRoutersNorthbound
                             || queryExternalGatewayInfo.equals(oSS.getExternalGatewayInfo()))
                     && (queryTenantID == null || queryTenantID.equals(oSS.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index 04d9c3889aac12420888568a243bb27b2a72dfd1..3d2227180d1fd07d7219f337c34686cdb611d7c8 100644 (file)
@@ -56,11 +56,6 @@ public class NeutronSFCFlowClassifiersNorthbound extends AbstractNeutronNorthbou
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronSFCFlowClassifier extractFields(NeutronSFCFlowClassifier o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronSFCFlowClassifierRequest newNeutronRequest(NeutronSFCFlowClassifier o) {
         return new NeutronSFCFlowClassifierRequest(o);
@@ -126,7 +121,7 @@ public class NeutronSFCFlowClassifiersNorthbound extends AbstractNeutronNorthbou
                             || queryLogicalDestinationPort.equals(oSFC.getLogicalDestinationPortUUID()))
                     && (queryTenantID == null || queryTenantID.equals(oSFC.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSFC, fields));
+                    ans.add(oSFC.extractFields(fields));
                 } else {
                     ans.add(oSFC);
                 }
index 8ed8638e3fd698bdaad6c30ce151ff400c6e3156..301515a70c76ea1ea8faf709119afaf6ea7b5c1a 100644 (file)
@@ -57,11 +57,6 @@ public class NeutronSFCPortChainsNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronSFCPortChain extractFields(NeutronSFCPortChain o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronSFCPortChainRequest newNeutronRequest(NeutronSFCPortChain o) {
         return new NeutronSFCPortChainRequest(o);
@@ -101,7 +96,7 @@ public class NeutronSFCPortChainsNorthbound
                     && (queryName == null || queryName.equals(oSFCPC.getName()))
                     && (queryTenantID == null || queryTenantID.equals(oSFCPC.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSFCPC, fields));
+                    ans.add(oSFCPC.extractFields(fields));
                 } else {
                     ans.add(oSFCPC);
                 }
index 3e4712f7e8e1323de773e3f3dade7823d5676879..4b269d8adc9252215d4168ddf9cdc1c7ed808f10 100644 (file)
@@ -57,11 +57,6 @@ public class NeutronSFCPortPairGroupsNorthbound extends AbstractNeutronNorthboun
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronSFCPortPairGroup extractFields(NeutronSFCPortPairGroup o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronSFCPortPairGroupRequest newNeutronRequest(NeutronSFCPortPairGroup o) {
         return new NeutronSFCPortPairGroupRequest(o);
@@ -102,7 +97,7 @@ public class NeutronSFCPortPairGroupsNorthbound extends AbstractNeutronNorthboun
                     && (queryName == null || queryName.equals(oSFCPPG.getName()))
                     && (queryTenantID == null || queryTenantID.equals(oSFCPPG.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSFCPPG, fields));
+                    ans.add(oSFCPPG.extractFields(fields));
                 } else {
                     ans.add(oSFCPPG);
                 }
index 1d57ecf8282fb001f739537d68236e8d2327a7ae..475b89300d390c88188b778fdf136c3493df058d 100644 (file)
@@ -57,11 +57,6 @@ public class NeutronSFCPortPairsNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronSFCPortPair extractFields(NeutronSFCPortPair o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronSFCPortPairRequest newNeutronRequest(NeutronSFCPortPair o) {
         return new NeutronSFCPortPairRequest(o);
@@ -105,7 +100,7 @@ public class NeutronSFCPortPairsNorthbound
                     && (queryEgressPort == null || queryEgressPort.equals(oSFCPP.getEgressPortUUID()))
                     && (queryTenantID == null || queryTenantID.equals(oSFCPP.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSFCPP, fields));
+                    ans.add(oSFCPP.extractFields(fields));
                 } else {
                     ans.add(oSFCPP);
                 }
index eeb3597443eeee1ab9d4cc6345ddff5af0abe64d..77aba65d3545165ba742cd1954134e3bc4973294 100644 (file)
@@ -55,11 +55,6 @@ public class NeutronSecurityGroupsNorthbound extends
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronSecurityGroup extractFields(NeutronSecurityGroup o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronSecurityGroupRequest newNeutronRequest(NeutronSecurityGroup o) {
         return new NeutronSecurityGroupRequest(o);
@@ -104,7 +99,7 @@ public class NeutronSecurityGroupsNorthbound extends
                     && (querySecurityGroupName == null || querySecurityGroupName.equals(nsg.getSecurityGroupName()))
                     && (querySecurityTenantID == null || querySecurityTenantID.equals(nsg.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg, fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
index 6acb8e0a54c51377a130308ac73909086dde3280..a05790ac56e82f52158b74b9f5f723e5a72a0010 100644 (file)
@@ -56,11 +56,6 @@ public class NeutronSecurityRulesNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronSecurityRule extractFields(NeutronSecurityRule o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronSecurityRuleRequest newNeutronRequest(NeutronSecurityRule o) {
         return new NeutronSecurityRuleRequest(o);
@@ -126,7 +121,7 @@ public class NeutronSecurityRulesNorthbound
                             || querySecurityRemoteGroupID.equals(nsr.getSecurityRemoteGroupID()))
                     && (querySecurityRuleTenantID == null || querySecurityRuleTenantID.equals(nsr.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsr, fields));
+                    ans.add(nsr.extractFields(fields));
                 } else {
                     ans.add(nsr);
                 }
index 9491947b6d9d4bce58e0c8944ce509d4832d9fbf..575ab926d920cf01275a9f5de9fb9d2ee7b76fd8 100644 (file)
@@ -60,11 +60,6 @@ public class NeutronSubnetsNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronSubnet extractFields(NeutronSubnet o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     private NeutronCRUDInterfaces getNeutronInterfaces(boolean needNetwork) {
         NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronSubnetCRUD(this);
         if (answer.getSubnetInterface() == null) {
@@ -139,7 +134,7 @@ public class NeutronSubnetsNorthbound
                     && (queryIpV6AddressMode == null || queryIpV6AddressMode.equals(oSS.getIpV6AddressMode()))
                     && (queryIpV6RaMode == null || queryIpV6RaMode.equals(oSS.getIpV6RaMode()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index cd659fbb5703134f1bde75c001a18e152202b94b..fa7bdcd849afcff776758ecaabc61800560718fd 100644 (file)
@@ -60,11 +60,6 @@ public class NeutronVPNIKEPoliciesNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronVPNIKEPolicy extractFields(NeutronVPNIKEPolicy o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected INeutronVPNIKEPolicyCRUD getNeutronCRUD() {
         NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronVPNIKEPolicyCRUD(this);
@@ -122,7 +117,7 @@ public class NeutronVPNIKEPoliciesNorthbound
                     && (queryIKEVersion == null || queryIKEVersion.equals(oSS.getIkeVersion()))
                     && (queryTenantID == null || queryTenantID.equals(oSS.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index 0e27a6bb767310ed64817c531af23a3924174f76..80f6176522daa494dd3c38f67f13e3ccd0d394f6 100644 (file)
@@ -61,11 +61,6 @@ public class NeutronVPNIPSECPoliciesNorthbound extends
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronVPNIPSECPolicy extractFields(NeutronVPNIPSECPolicy o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected INeutronVPNIPSECPolicyCRUD getNeutronCRUD() {
         NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronVPNIPSECPolicyCRUD(this);
@@ -122,7 +117,7 @@ public class NeutronVPNIPSECPoliciesNorthbound extends
                     && (queryEncapsulationMode == null || queryEncapsulationMode.equals(oSS.getEncapsulationMode()))
                     && (queryTenantID == null || queryTenantID.equals(oSS.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index 638f44d135824ce88f196b44cf1d5079d5d56891..f9a7daf34826beacf214630043886db7579a035a 100644 (file)
@@ -61,11 +61,6 @@ public class NeutronVPNIPSECSiteConnectionsNorthbound extends AbstractNeutronNor
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronVPNIPSECSiteConnection extractFields(NeutronVPNIPSECSiteConnection o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Override
     protected NeutronVPNIPSECSiteConnectionRequest newNeutronRequest(NeutronVPNIPSECSiteConnection o) {
         return new NeutronVPNIPSECSiteConnectionRequest(o);
@@ -136,7 +131,7 @@ public class NeutronVPNIPSECSiteConnectionsNorthbound extends AbstractNeutronNor
                     && (queryIpSecPolicyID == null || queryIpSecPolicyID.equals(oSS.getIpsecPolicyID()))
                     && (queryVpnServiceID == null || queryVpnServiceID.equals(oSS.getVpnServiceID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index d27a31a58b3e93f23baab73753c299e55a281ade..9fa3d8840699432fa16a063cd7f3a1e79277a10e 100644 (file)
@@ -61,11 +61,6 @@ public class NeutronVPNServicesNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronVPNService extractFields(NeutronVPNService o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
     @Context
     UriInfo uriInfo;
 
@@ -124,7 +119,7 @@ public class NeutronVPNServicesNorthbound
                     && (queryRouterID == null || queryRouterID.equals(oSS.getRouterUUID()))
                     && (queryTenantID == null || queryTenantID.equals(oSS.getTenantID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(oSS, fields));
+                    ans.add(oSS.extractFields(fields));
                 } else {
                     ans.add(oSS);
                 }
index bd9a7874a5baacaaa18fb0dfc2432418c9126599..2952b2903f60482010459dee419efcbecfa968a3 100644 (file)
@@ -28,7 +28,7 @@ public final class PaginatedRequestFactory {
         }
     };
 
-    public static class PaginationResults<T extends INeutronObject> {
+    public static class PaginationResults<T extends INeutronObject<T>> {
         List<T> collection;
         List<NeutronPageLink> links;
 
@@ -38,7 +38,8 @@ public final class PaginatedRequestFactory {
         }
     }
 
-    private static final class MarkerObject extends NeutronObject implements INeutronObject {
+    private static final class MarkerObject extends NeutronObject<MarkerObject>
+            implements INeutronObject<MarkerObject> {
         private final String id;
 
         MarkerObject(String id) {
@@ -55,6 +56,11 @@ public final class PaginatedRequestFactory {
         public void setID(String id) {
             throw new UnsupportedOperationException("Marker has constant ID");
         }
+
+        @Override
+        public MarkerObject extractFields(List<String> fields) {
+            return null;
+        }
     }
 
     private PaginatedRequestFactory() {
@@ -67,7 +73,7 @@ public final class PaginatedRequestFactory {
      * FIXME: the only caller performs a cast back, so this is not actually necessary.
      */
     @SuppressWarnings("unchecked")
-    public static <T extends INeutronObject> INeutronRequest<T> createRequest(Integer limit, String marker,
+    public static <T extends INeutronObject<T>> INeutronRequest<T> createRequest(Integer limit, String marker,
             Boolean pageReverse, UriInfo uriInfo, List<T> collection, Class<T> clazz) {
         PaginationResults<T> results = paginate(limit, marker, pageReverse, uriInfo, collection);
 
@@ -85,7 +91,7 @@ public final class PaginatedRequestFactory {
         return null;
     }
 
-    private static <T extends INeutronObject> PaginationResults<T> paginate(Integer limit, String marker,
+    private static <T extends INeutronObject<T>> PaginationResults<T> paginate(Integer limit, String marker,
             Boolean pageReverse, UriInfo uriInfo, List<T> collection) {
         List<NeutronPageLink> links = new ArrayList<>();
         final int startPos;
index 10076a1484ead00ad88d78a4667df7aded183346..31d16d06cb8cb0ebd30c9e83be0db2d33190822e 100644 (file)
@@ -37,7 +37,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public abstract class AbstractNeutronInterface<T extends DataObject,
-        U extends ChildOf<? extends DataObject> & Augmentable<U>, S extends INeutronObject>
+        U extends ChildOf<? extends DataObject> & Augmentable<U>, S extends INeutronObject<S>>
         implements AutoCloseable, INeutronCRUD<S> {
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractNeutronInterface.class);
     private static final int DEDASHED_UUID_LENGTH = 32;