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>
*
*/
-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
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();
void setTenantID(Uuid tenantID);
void initDefaults();
+
+ T extractFields(List<String> fields);
}
@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
@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")
@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")
@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")
@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
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")
+ ", devices = " + neutronL2gatewayDevices + "]";
}
-}
\ No newline at end of file
+}
@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")
@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")
@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")
@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")
@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")
@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;
@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")
@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")
@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
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;
@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")
@Override
public void initDefaults() {
}
+
+ @Override
+ public abstract T extractFields(List<String> fields);
}
@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
@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")
@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")
@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")
@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
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;
@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
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
@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
@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;
@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;
@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
@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")
@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")
@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;
@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
@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
@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
@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
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);
protected abstract String getResourceName();
- protected abstract T extractFields(T o, List<String> fields);
-
protected abstract NeutronRequest newNeutronRequest(T o);
protected abstract I getNeutronCRUD();
}
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();
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 {
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);
&& (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);
}
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);
&& (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);
}
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);
&& (querySecurityPolicyIsAudited == null
|| querySecurityPolicyIsAudited.equals(nsg.getFirewallPolicyIsAudited()))) {
if (fields.size() > 0) {
- ans.add(extractFields(nsg, fields));
+ ans.add(nsg.extractFields(fields));
} else {
ans.add(nsg);
}
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);
&& (queryFirewallRuleIsEnabled == null
|| queryFirewallRuleIsEnabled.equals(nsr.getFirewallRuleIsEnabled()))) {
if (fields.size() > 0) {
- ans.add(extractFields(nsr, fields));
+ ans.add(nsr.extractFields(fields));
} else {
ans.add(nsr);
}
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);
&& (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);
}
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);
&& (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);
}
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);
&& (queryNeutronL2gatewayDevice == null
|| queryNeutronL2gatewayDevice.equals(l2gateway.getNeutronL2gatewayDevices()))) {
if (fields.size() > 0) {
- ans.add(extractFields(l2gateway, fields));
+ ans.add(l2gateway.extractFields(fields));
} else {
ans.add(l2gateway);
}
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);
|| queryLoadBalancerHealthMonitorIsAdminStateUp
.equals(nsg.getLoadBalancerHealthMonitorAdminStateIsUp()))) {
if (fields.size() > 0) {
- ans.add(extractFields(nsg, fields));
+ ans.add(nsg.extractFields(fields));
} else {
ans.add(nsg);
}
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);
&& (queryLoadBalancerListenerAdminIsUp == null || queryLoadBalancerListenerAdminIsUp
.equals(nsg.getLoadBalancerListenerAdminStateIsUp()))) {
if (fields.size() > 0) {
- ans.add(extractFields(nsg, fields));
+ ans.add(nsg.extractFields(fields));
} else {
ans.add(nsg);
}
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);
&& (queryLoadBalancerVipSubnet == null
|| queryLoadBalancerVipSubnet.equals(nsg.getLoadBalancerVipSubnetID()))) {
if (fields.size() > 0) {
- ans.add(extractFields(nsg, fields));
+ ans.add(nsg.extractFields(fields));
} else {
ans.add(nsg);
}
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);
&& (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);
}
&& (queryLoadBalancerPoolMemberSubnetID == null
|| queryLoadBalancerPoolMemberSubnetID.equals(nsg.getPoolMemberSubnetID()))) {
if (fields.size() > 0) {
- ans.add(extractFields(nsg, fields));
+ ans.add(nsg.extractFields(fields));
} else {
ans.add(nsg);
}
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();
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);
|| 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);
}
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);
&& (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);
}
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);
&& (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);
}
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) {
|| 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);
}
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);
&& (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);
}
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) {
|| 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);
}
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);
|| 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);
}
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);
&& (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);
}
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);
&& (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);
}
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);
&& (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);
}
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);
&& (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);
}
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);
|| 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);
}
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) {
&& (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);
}
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);
&& (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);
}
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);
&& (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);
}
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);
&& (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);
}
return RESOURCE_NAME;
}
- @Override
- protected NeutronVPNService extractFields(NeutronVPNService o, List<String> fields) {
- return o.extractFields(fields);
- }
-
@Context
UriInfo uriInfo;
&& (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);
}
}
};
- public static class PaginationResults<T extends INeutronObject> {
+ public static class PaginationResults<T extends INeutronObject<T>> {
List<T> collection;
List<NeutronPageLink> links;
}
}
- 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) {
public void setID(String id) {
throw new UnsupportedOperationException("Marker has constant ID");
}
+
+ @Override
+ public MarkerObject extractFields(List<String> fields) {
+ return null;
+ }
}
private 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);
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;
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;