X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetworkconfiguration%2Fneutron%2Fnorthbound%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetworkconfig%2Fneutron%2Fnorthbound%2FNeutronSecurityGroupsNorthbound.java;h=d9ca6d4512af618a53b1353f73a82f72ac9b16c9;hb=1ef158fb22814f87dfef0990ff3677965f52ca95;hp=bce4de7cc2b91887607ef720fcea62d93a044e8e;hpb=c6e3620a5b02b3993cd0ae7539f5cd0fecf4ba8d;p=controller.git diff --git a/opendaylight/networkconfiguration/neutron/northbound/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSecurityGroupsNorthbound.java b/opendaylight/networkconfiguration/neutron/northbound/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSecurityGroupsNorthbound.java index bce4de7cc2..d9ca6d4512 100644 --- a/opendaylight/networkconfiguration/neutron/northbound/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSecurityGroupsNorthbound.java +++ b/opendaylight/networkconfiguration/neutron/northbound/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronSecurityGroupsNorthbound.java @@ -178,13 +178,19 @@ public class NeutronSecurityGroupsNorthbound { Object[] instances = NeutronUtil.getInstances(INeutronSecurityGroupAware.class, this); if (instances != null) { - for (Object instance : instances) { - INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; - int status = service.canCreateNeutronSecurityGroup(singleton); - if (status < 200 || status > 299) { - return Response.status(status).build(); + if (instances.length > 0) { + for (Object instance : instances) { + INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; + int status = service.canCreateNeutronSecurityGroup(singleton); + if (status < 200 || status > 299) { + return Response.status(status).build(); + } } + } else { + throw new ServiceUnavailableException("No providers registered. Please try again later"); } + } else { + throw new ServiceUnavailableException("Couldn't get providers list. Please try again later"); } // Add to Neutron cache securityGroupInterface.addNeutronSecurityGroup(singleton); @@ -209,10 +215,18 @@ public class NeutronSecurityGroupsNorthbound { if (securityGroupInterface.neutronSecurityGroupExists(test.getSecurityGroupUUID())) { throw new BadRequestException("Security Group UUID already is already created"); } - if (instances != null) for (Object instance : instances) { - INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; - int status = service.canCreateNeutronSecurityGroup(test); - if ((status < 200) || (status > 299)) return Response.status(status).build(); + if (instances != null) { + if (instances.length > 0) { + for (Object instance : instances) { + INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; + int status = service.canCreateNeutronSecurityGroup(test); + if ((status < 200) || (status > 299)) return Response.status(status).build(); + } + } else { + throw new BadRequestException("No providers registered. Please try again later"); + } + } else { + throw new ServiceUnavailableException("Couldn't get providers list. Please try again later"); } } @@ -278,13 +292,19 @@ public class NeutronSecurityGroupsNorthbound { Object[] instances = NeutronUtil.getInstances(INeutronSecurityGroupAware.class, this); if (instances != null) { - for (Object instance : instances) { - INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; - int status = service.canUpdateNeutronSecurityGroup(delta, original); - if (status < 200 || status > 299) { - return Response.status(status).build(); + if (instances.length > 0) { + for (Object instance : instances) { + INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; + int status = service.canUpdateNeutronSecurityGroup(delta, original); + if (status < 200 || status > 299) { + return Response.status(status).build(); + } } + } else { + throw new ServiceUnavailableException("No providers registered. Please try again later"); } + } else { + throw new ServiceUnavailableException("Couldn't get providers list. Please try again later"); } /* @@ -333,13 +353,19 @@ public class NeutronSecurityGroupsNorthbound { NeutronSecurityGroup singleton = securityGroupInterface.getNeutronSecurityGroup(securityGroupUUID); Object[] instances = NeutronUtil.getInstances(INeutronSecurityGroupAware.class, this); if (instances != null) { - for (Object instance : instances) { - INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; - int status = service.canDeleteNeutronSecurityGroup(singleton); - if ((status < 200) || (status > 299)) { - return Response.status(status).build(); + if (instances.length > 0) { + for (Object instance : instances) { + INeutronSecurityGroupAware service = (INeutronSecurityGroupAware) instance; + int status = service.canDeleteNeutronSecurityGroup(singleton); + if ((status < 200) || (status > 299)) { + return Response.status(status).build(); + } } + } else { + throw new ServiceUnavailableException("No providers registered. Please try again later"); } + } else { + throw new ServiceUnavailableException("Couldn't get providers list. Please try again later"); } /* @@ -354,4 +380,4 @@ public class NeutronSecurityGroupsNorthbound { } return Response.status(204).build(); } -} \ No newline at end of file +}