Merge "Bug 6641: Fix ip_address in allowed_address_pairs info"
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronCRUDInterfaces.java
index 341e9d460bfc787b5518e48d8599a1481ea9a872..49bded4107d78185c0752e9d462ef3bfe5587651 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright IBM Corporation, 2013.  All rights reserved.
+ * Copyright (c) 2013, 2015 IBM Corporation and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -14,31 +14,13 @@ import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class NeutronCRUDInterfaces {
-    private static final Logger LOGGER = LoggerFactory
-            .getLogger(NeutronCRUDInterfaces.class);
+public final class NeutronCRUDInterfaces {
+    private static final Logger LOGGER = LoggerFactory.getLogger(NeutronCRUDInterfaces.class);
 
     private INeutronNetworkCRUD networkInterface;
     private INeutronSubnetCRUD subnetInterface;
     private INeutronPortCRUD portInterface;
     private INeutronRouterCRUD routerInterface;
-    private INeutronFloatingIPCRUD fipInterface;
-    private INeutronSecurityGroupCRUD sgInterface;
-    private INeutronSecurityRuleCRUD srInterface;
-    private INeutronFirewallCRUD fwInterface;
-    private INeutronFirewallPolicyCRUD fwpInterface;
-    private INeutronFirewallRuleCRUD fwrInterface;
-    private INeutronLoadBalancerCRUD lbInterface;
-    private INeutronLoadBalancerPoolCRUD lbpInterface;
-    private INeutronLoadBalancerListenerCRUD lblInterface;
-    private INeutronLoadBalancerHealthMonitorCRUD lbhmInterface;
-    private INeutronLoadBalancerPoolMemberCRUD lbpmInterface;
-    private INeutronMeteringLabelCRUD mlInterface;
-    private INeutronMeteringLabelRuleCRUD mlrInterface;
-    private INeutronVPNIKEPolicyCRUD ikepInterface;
-    private INeutronVPNIPSECPolicyCRUD ipsecpInterface;
-    private INeutronVPNServiceCRUD vpnInterface;
-    private INeutronVPNIPSECSiteConnectionsCRUD ipsecScInterface;
 
     public NeutronCRUDInterfaces() {
     }
@@ -59,78 +41,6 @@ public class NeutronCRUDInterfaces {
         return routerInterface;
     }
 
-    public INeutronFloatingIPCRUD getFloatingIPInterface() {
-        return fipInterface;
-    }
-
-    public INeutronSecurityGroupCRUD getSecurityGroupInterface() {
-        return sgInterface;
-    }
-
-    public INeutronSecurityRuleCRUD getSecurityRuleInterface() {
-        return srInterface;
-    }
-
-    public INeutronFirewallCRUD getFirewallInterface() {
-        return fwInterface;
-    }
-
-    public INeutronFirewallPolicyCRUD getFirewallPolicyInterface() {
-        return fwpInterface;
-    }
-
-    public INeutronFirewallRuleCRUD getFirewallRuleInterface() {
-        return fwrInterface;
-    }
-
-    public INeutronLoadBalancerCRUD getLoadBalancerInterface() {
-        return lbInterface;
-    }
-
-    public INeutronLoadBalancerPoolCRUD getLoadBalancerPoolInterface() {
-        return lbpInterface;
-    }
-
-    public INeutronLoadBalancerListenerCRUD getLoadBalancerListenerInterface() {
-        return lblInterface;
-    }
-
-    public INeutronLoadBalancerHealthMonitorCRUD getLoadBalancerHealthMonitorInterface() {
-        return lbhmInterface;
-    }
-
-    public INeutronLoadBalancerPoolMemberCRUD getLoadBalancerPoolMemberInterface() {
-        return lbpmInterface;
-    }
-
-    public INeutronMeteringLabelCRUD getMeteringLabelInterface() {
-        return mlInterface;
-    }
-
-    public INeutronMeteringLabelRuleCRUD getMeteringLabelRuleInterface() {
-        return mlrInterface;
-    }
-
-    public INeutronVPNIKEPolicyCRUD getVPNIKEPolicyInterface() {
-        return ikepInterface;
-    }
-
-    public INeutronVPNIPSECPolicyCRUD getVPNIPSECPolicyInterface() {
-        return ipsecpInterface;
-    }
-
-    public void setVPNServiceInterface(INeutronVPNServiceCRUD iface) {
-        vpnInterface = iface;
-    }
-
-    public INeutronVPNServiceCRUD getVPNServiceInterface() {
-        return vpnInterface;
-    }
-
-    public INeutronVPNIPSECSiteConnectionsCRUD getVPNIPSECSiteConnectionsInterface() {
-        return ipsecScInterface;
-    }
-
     public NeutronCRUDInterfaces fetchINeutronNetworkCRUD(Object obj) {
         networkInterface = (INeutronNetworkCRUD) getInstances(INeutronNetworkCRUD.class, obj);
         return this;
@@ -151,92 +61,12 @@ public class NeutronCRUDInterfaces {
         return this;
     }
 
-    public NeutronCRUDInterfaces fetchINeutronFloatingIPCRUD(Object obj) {
-        fipInterface = (INeutronFloatingIPCRUD) getInstances(INeutronFloatingIPCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronSecurityGroupCRUD(Object obj) {
-        sgInterface = (INeutronSecurityGroupCRUD) getInstances(INeutronSecurityGroupCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronSecurityRuleCRUD(Object obj) {
-        srInterface = (INeutronSecurityRuleCRUD) getInstances(INeutronSecurityRuleCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronFirewallCRUD(Object obj) {
-        fwInterface = (INeutronFirewallCRUD) getInstances(INeutronFirewallCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronFirewallPolicyCRUD(Object obj) {
-        fwpInterface = (INeutronFirewallPolicyCRUD) getInstances(INeutronFirewallPolicyCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronFirewallRuleCRUD(Object obj) {
-        fwrInterface = (INeutronFirewallRuleCRUD) getInstances(INeutronFirewallRuleCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronLoadBalancerCRUD(Object obj) {
-        lbInterface = (INeutronLoadBalancerCRUD) getInstances(INeutronLoadBalancerCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronLoadBalancerPoolCRUD(Object obj) {
-        lbpInterface = (INeutronLoadBalancerPoolCRUD) getInstances(INeutronLoadBalancerPoolCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronLoadBalancerListenerCRUD(Object obj) {
-        lblInterface = (INeutronLoadBalancerListenerCRUD) getInstances(INeutronLoadBalancerListenerCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronLoadBalancerHealthMonitorCRUD(Object obj) {
-        lbhmInterface = (INeutronLoadBalancerHealthMonitorCRUD) getInstances(INeutronLoadBalancerHealthMonitorCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronLoadBalancerPoolMemberCRUD(Object obj) {
-        lbpmInterface = (INeutronLoadBalancerPoolMemberCRUD) getInstances(INeutronLoadBalancerPoolMemberCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronMeteringLabelCRUD(Object obj) {
-        mlInterface = (INeutronMeteringLabelCRUD) getInstances(INeutronMeteringLabelCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronMeteringLabelRuleCRUD(Object obj) {
-        mlrInterface = (INeutronMeteringLabelRuleCRUD) getInstances(INeutronMeteringLabelRuleCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronVPNIKEPolicyCRUD(Object obj) {
-        ikepInterface = (INeutronVPNIKEPolicyCRUD) getInstances(INeutronVPNIKEPolicyCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronVPNIPSECPolicyCRUD(Object obj) {
-        ipsecpInterface = (INeutronVPNIPSECPolicyCRUD) getInstances(INeutronVPNIPSECPolicyCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronVPNServiceCRUD(Object obj) {
-        vpnInterface = (INeutronVPNServiceCRUD) getInstances(INeutronVPNServiceCRUD.class, obj);
-        return this;
-    }
-
-    public NeutronCRUDInterfaces fetchINeutronVPNIPSECSiteConnectionsCRUD(Object obj) {
-        ipsecScInterface = (INeutronVPNIPSECSiteConnectionsCRUD) getInstances(INeutronVPNIPSECSiteConnectionsCRUD.class, obj);
-        return this;
+    public static <T extends INeutronObject<T>, I extends INeutronCRUD<T>> I fetchINeutronCRUD(
+        Class<I> cls, Object obj) {
+        return (I) getInstances(cls, obj);
     }
 
-    public Object getInstances(Class<?> clazz, Object bundle) {
+    public static Object getInstances(Class<?> clazz, Object bundle) {
         try {
             BundleContext bCtx = FrameworkUtil.getBundle(bundle.getClass()).getBundleContext();