From 5ed8620d37b7341850fd79a8c81f7e892bb5803b Mon Sep 17 00:00:00 2001 From: Jeremy Daggett Date: Fri, 25 Jul 2014 09:23:35 -0700 Subject: [PATCH] Prefer Regions to Zones --- .../openstack/neutron/v2/NeutronApi.java | 13 ++++ .../neutron/v2/extensions/RouterApi.java | 41 +++++------ .../openstack/neutron/v2_0/NeutronApi.java | 68 +++++++++++++++++-- .../neutron/v2_0/NeutronApiMetadata.java | 15 ++-- .../v2_0/config/NeutronHttpApiModule.java | 30 ++++---- .../neutron/v2_0/extensions/RouterApi.java | 28 ++++---- .../v2_0/functions/ParseNetworkDetails.java | 3 + .../neutron/v2_0/functions/ParseNetworks.java | 3 + .../v2_0/functions/ParsePortDetails.java | 3 + .../neutron/v2_0/functions/ParsePorts.java | 3 + .../v2_0/functions/ParseRouterDetails.java | 3 + .../neutron/v2_0/functions/ParseRouters.java | 3 + .../v2_0/functions/ParseSubnetDetails.java | 3 + .../neutron/v2_0/functions/ParseSubnets.java | 3 + .../v2_0/extensions/RouterApiExpectTest.java | 2 + .../v2_0/extensions/RouterApiLiveTest.java | 2 + .../v2_0/features/NetworkApiExpectTest.java | 2 + .../v2_0/features/NetworkApiLiveTest.java | 2 + .../v2_0/features/PortApiExpectTest.java | 2 + .../v2_0/features/PortApiLiveTest.java | 2 + .../v2_0/features/SubnetApiExpectTest.java | 2 + .../v2_0/features/SubnetApiLiveTest.java | 2 + 22 files changed, 171 insertions(+), 64 deletions(-) diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApi.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApi.java index b682d74d9c..77d4d97662 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApi.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApi.java @@ -70,7 +70,20 @@ public interface NeutronApi extends Closeable { /** * Provides synchronous access to Router features. + * + *

NOTE

+ * This API is an extension that may or may not be present in your OpenStack cloud. Use the Optional return type + * to determine if it is present. */ @Delegate + Optional getRouterApi(@EndpointParam(parser = RegionToEndpoint.class) @Nullable String region); + + /** + * Provides synchronous access to Router features. + * @deprecated Please use {@link #getRouterApi(String)} as this method will be removed in jclouds 3.0. + */ + @Deprecated + @Delegate Optional getRouterExtensionApi(@EndpointParam(parser = RegionToEndpoint.class) @Nullable String region); + } diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java index f5fb592851..27b22054ed 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java @@ -16,8 +16,19 @@ */ package org.jclouds.openstack.neutron.v2.extensions; -import com.google.common.annotations.Beta; -import org.jclouds.Fallbacks; +import javax.inject.Named; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.core.MediaType; + +import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; +import org.jclouds.Fallbacks.FalseOnNotFoundOr404; +import org.jclouds.Fallbacks.NullOnNotFoundOr404; import org.jclouds.collect.PagedIterable; import org.jclouds.javax.annotation.Nullable; import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest; @@ -38,15 +49,7 @@ import org.jclouds.rest.annotations.SelectJson; import org.jclouds.rest.annotations.Transform; import org.jclouds.rest.annotations.WrapWith; -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.MediaType; +import com.google.common.annotations.Beta; /** * Provides synchronous access to Router operations on the OpenStack Neutron API. @@ -73,7 +76,7 @@ public interface RouterApi { @GET @Transform(RouterToPagedIterable.class) @ResponseParser(ParseRouters.class) - @Fallback(Fallbacks.EmptyPagedIterableOnNotFoundOr404.class) + @Fallback(EmptyPagedIterableOnNotFoundOr404.class) PagedIterable list(); /** @@ -95,7 +98,7 @@ public interface RouterApi { @GET @Path("/{id}") @SelectJson("router") - @Fallback(Fallbacks.NullOnNotFoundOr404.class) + @Fallback(NullOnNotFoundOr404.class) @Nullable Router get(@PathParam("id") String id); @@ -121,7 +124,7 @@ public interface RouterApi { @PUT @Path("/{id}") @SelectJson("router") - @Fallback(Fallbacks.NullOnNotFoundOr404.class) + @Fallback(NullOnNotFoundOr404.class) @Nullable Router update(@PathParam("id") String id, @WrapWith("router") Router.UpdateOptions router); @@ -134,7 +137,7 @@ public interface RouterApi { @Named("router:delete") @DELETE @Path("/{id}") - @Fallback(Fallbacks.FalseOnNotFoundOr404.class) + @Fallback(FalseOnNotFoundOr404.class) boolean delete(@PathParam("id") String id); /** @@ -148,7 +151,7 @@ public interface RouterApi { @PUT @Path("/{id}/add_router_interface") @MapBinder(EmptyOptions.class) - @Fallback(Fallbacks.NullOnNotFoundOr404.class) + @Fallback(NullOnNotFoundOr404.class) @Nullable RouterInterface addInterfaceForSubnet(@PathParam("id") String routerId, @PayloadParam("subnet_id") String subnetId); @@ -163,7 +166,7 @@ public interface RouterApi { @PUT @Path("/{id}/add_router_interface") @MapBinder(EmptyOptions.class) - @Fallback(Fallbacks.NullOnNotFoundOr404.class) + @Fallback(NullOnNotFoundOr404.class) @Nullable RouterInterface addInterfaceForPort(@PathParam("id") String routerId, @PayloadParam("port_id") String portId); @@ -177,7 +180,7 @@ public interface RouterApi { @PUT @Path("/{id}/remove_router_interface") @MapBinder(EmptyOptions.class) - @Fallback(Fallbacks.FalseOnNotFoundOr404.class) + @Fallback(FalseOnNotFoundOr404.class) boolean removeInterfaceForSubnet(@PathParam("id") String routerId, @PayloadParam("subnet_id") String subnetId); /** @@ -190,6 +193,6 @@ public interface RouterApi { @PUT @Path("/{id}/remove_router_interface") @MapBinder(EmptyOptions.class) - @Fallback(Fallbacks.FalseOnNotFoundOr404.class) + @Fallback(FalseOnNotFoundOr404.class) boolean removeInterfaceForPort(@PathParam("id") String routerId, @PayloadParam("port_id") String portId); } diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApi.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApi.java index 55515df971..d2fc04277d 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApi.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApi.java @@ -17,10 +17,13 @@ package org.jclouds.openstack.neutron.v2_0; -import com.google.common.base.Optional; -import com.google.inject.Provides; +import java.io.Closeable; +import java.util.Set; + import org.jclouds.javax.annotation.Nullable; +import org.jclouds.location.Region; import org.jclouds.location.Zone; +import org.jclouds.location.functions.RegionToEndpoint; import org.jclouds.location.functions.ZoneToEndpoint; import org.jclouds.openstack.neutron.v2_0.extensions.RouterApi; import org.jclouds.openstack.neutron.v2_0.features.NetworkApi; @@ -30,53 +33,104 @@ import org.jclouds.openstack.v2_0.features.ExtensionApi; import org.jclouds.rest.annotations.Delegate; import org.jclouds.rest.annotations.EndpointParam; -import java.io.Closeable; -import java.util.Set; +import com.google.common.base.Optional; +import com.google.inject.Provides; /** * Provides synchronous access to Neutron. *

* - * @see api doc - * @deprecated Use v2 instead of v2_0 + * @deprecated Please use {@link org.jclouds.openstack.neutron.v2.NeutronApi} as this + * interface will be removed in jclouds 3.0. */ @Deprecated public interface NeutronApi extends Closeable { + + /** + * @return the Region codes configured + */ + @Provides + @Region + Set getConfiguredRegions(); + + /** + * Provides synchronous access to Extension features. + */ + @Delegate + ExtensionApi getExtensionApi( + @EndpointParam(parser = RegionToEndpoint.class) @Nullable String region); + + /** + * Provides synchronous access to Network features. + */ + @Delegate + NetworkApi getNetworkApi(@EndpointParam(parser = RegionToEndpoint.class) @Nullable String region); + + /** + * Provides synchronous access to Subnet features + */ + @Delegate + SubnetApi getSubnetApi(@EndpointParam(parser = RegionToEndpoint.class) @Nullable String region); + + /** + * Provides synchronous access to Port features. + */ + @Delegate + PortApi getPortApi(@EndpointParam(parser = RegionToEndpoint.class) @Nullable String region); + + /** + * Provides synchronous access to Router features. + */ + @Delegate + Optional getRouterApi(@EndpointParam(parser = RegionToEndpoint.class) @Nullable String region); + /** * @return the Zone codes configured + * @deprecated Please use {@link #getConfiguredRegions()} as this method will be removed in jclouds 3.0. */ + @Deprecated @Provides @Zone Set getConfiguredZones(); /** * Provides synchronous access to Extension features. + * @deprecated Please use {@link #getExtensionApi(String)} as this method will be removed in jclouds 3.0. */ + @Deprecated @Delegate ExtensionApi getExtensionApiForZone( @EndpointParam(parser = ZoneToEndpoint.class) @Nullable String zone); /** * Provides synchronous access to Network features. + * @deprecated Please use {@link #getNetworkApi(String)} as this method will be removed in jclouds 3.0. */ + @Deprecated @Delegate NetworkApi getNetworkApiForZone(@EndpointParam(parser = ZoneToEndpoint.class) @Nullable String zone); /** - * Provides synchronous access to Subnet features + * Provides synchronous access to Subnet features. + * @deprecated Please use {@link #getSubnetApi(String)} as this method will be removed in jclouds 3.0. */ + @Deprecated @Delegate SubnetApi getSubnetApiForZone(@EndpointParam(parser = ZoneToEndpoint.class) @Nullable String zone); /** * Provides synchronous access to Port features. + * @deprecated Please use {@link #getPortApi(String)} as this method will be removed in jclouds 3.0. */ + @Deprecated @Delegate PortApi getPortApiForZone(@EndpointParam(parser = ZoneToEndpoint.class) @Nullable String zone); /** * Provides synchronous access to Router features. + * @deprecated Please use {@link #getRouterApi(String)} as this method will be removed in jclouds 3.0. */ + @Deprecated @Delegate Optional getRouterExtensionForZone(@EndpointParam(parser = ZoneToEndpoint.class) @Nullable String zone); } diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadata.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadata.java index 1c09c1144e..6327f1e828 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadata.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadata.java @@ -17,8 +17,12 @@ package org.jclouds.openstack.neutron.v2_0; -import com.google.common.collect.ImmutableSet; -import com.google.inject.Module; +import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE; +import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE; + +import java.net.URI; +import java.util.Properties; + import org.jclouds.apis.ApiMetadata; import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule; import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes; @@ -28,11 +32,8 @@ import org.jclouds.openstack.neutron.v2_0.config.NeutronHttpApiModule; import org.jclouds.openstack.v2_0.ServiceType; import org.jclouds.rest.internal.BaseHttpApiMetadata; -import java.net.URI; -import java.util.Properties; - -import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE; -import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE; +import com.google.common.collect.ImmutableSet; +import com.google.inject.Module; /** * Implementation of {@link org.jclouds.apis.ApiMetadata} for Neutron 2.0 API diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/config/NeutronHttpApiModule.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/config/NeutronHttpApiModule.java index 521453aaf6..fe3d74c51e 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/config/NeutronHttpApiModule.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/config/NeutronHttpApiModule.java @@ -16,12 +16,11 @@ */ package org.jclouds.openstack.neutron.v2_0.config; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; -import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.Multimap; -import com.google.inject.Provides; +import java.net.URI; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import javax.inject.Provider; +import javax.inject.Singleton; import org.jclouds.http.HttpErrorHandler; import org.jclouds.http.annotation.ClientError; import org.jclouds.http.annotation.Redirection; @@ -35,27 +34,26 @@ import org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamesp import org.jclouds.rest.ConfiguresHttpApi; import org.jclouds.rest.config.HttpApiModule; import org.jclouds.rest.functions.ImplicitOptionalConverter; - -import javax.inject.Provider; -import javax.inject.Singleton; -import java.net.URI; -import java.util.Set; -import java.util.concurrent.TimeUnit; +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; +import com.google.common.collect.ImmutableMultimap; +import com.google.common.collect.Multimap; +import com.google.inject.Provides; /** * Configures the Neutron connection. */ -@Deprecated @ConfiguresHttpApi public class NeutronHttpApiModule extends HttpApiModule { - + @Override protected void configure() { bind(DateAdapter.class).to(Iso8601DateAdapter.class); bind(ImplicitOptionalConverter.class).to(PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.class); super.configure(); } - + @Provides @Singleton public Multimap aliases() { @@ -74,7 +72,7 @@ public class NeutronHttpApiModule extends HttpApiModule { } }); } - + @Override protected void bindErrorHandlers() { bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(NeutronErrorHandler.class); diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApi.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApi.java index b7402715ea..3e8e5a2be4 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApi.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApi.java @@ -17,9 +17,20 @@ package org.jclouds.openstack.neutron.v2_0.extensions; +import javax.inject.Named; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.core.MediaType; + import org.jclouds.Fallbacks; import org.jclouds.collect.PagedIterable; import org.jclouds.javax.annotation.Nullable; +import org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404; import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest; import org.jclouds.openstack.neutron.v2_0.domain.ReferenceWithName; import org.jclouds.openstack.neutron.v2_0.domain.Router; @@ -39,27 +50,14 @@ import org.jclouds.rest.annotations.ResponseParser; import org.jclouds.rest.annotations.SelectJson; import org.jclouds.rest.annotations.Transform; -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.MediaType; - -import static org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404; - /** * Provides synchronous access to Router operations on the OpenStack Neutron API. *

* A logical entity for forwarding packets across internal subnets and NATting them on external * networks through an appropriate external gateway. * - * @see api doc - * @deprecated Use v2 instead of v2_0 + * @deprecated Please use {@link org.jclouds.openstack.neutron.v2.extensions.RouterApi} as this + * interface will be removed in jclouds 3.0. */ @Deprecated @Path("/v2.0/routers") diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java index d0a43d4ff2..ffc3df279e 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java @@ -38,6 +38,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParseNetworkDetails extends ParseJson { diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java index 9a22848448..35d0f1ccc9 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java @@ -38,6 +38,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParseNetworks extends ParseJson { diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java index 3a0359b7e6..e0c53edb1d 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java @@ -39,6 +39,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParsePortDetails extends ParseJson { diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java index 73ae1148ab..9295df98d0 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java @@ -38,6 +38,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParsePorts extends ParseJson { diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouterDetails.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouterDetails.java index 88fbf2e8d6..be8e227b66 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouterDetails.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouterDetails.java @@ -39,6 +39,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; import static org.jclouds.openstack.v2_0.options.PaginationOptions.Builder.marker; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParseRouterDetails extends ParseJson { diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouters.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouters.java index a9842abed5..f1e70b18b8 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouters.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseRouters.java @@ -39,6 +39,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; import static org.jclouds.openstack.v2_0.options.PaginationOptions.Builder.marker; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParseRouters extends ParseJson { diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java index 0f63aec66c..4ef59281f1 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java @@ -38,6 +38,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParseSubnetDetails extends ParseJson { diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java index 4191d8bfb7..ba7b7317f2 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java @@ -38,6 +38,9 @@ import java.beans.ConstructorProperties; import static com.google.common.base.Preconditions.checkNotNull; +/** + * @author Nick Livens + */ @Beta @Singleton public class ParseSubnets extends ParseJson { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiExpectTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiExpectTest.java index 222ca1ab3d..858342818e 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiExpectTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiExpectTest.java @@ -42,6 +42,8 @@ import static org.testng.Assert.assertTrue; /** * Tests parsing and Guice wiring of RouterApi + * + * @author Nick Livens */ @Test(groups = "unit", testName = "RouterApiExpectTest") public class RouterApiExpectTest extends BaseNeutronApiExpectTest { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiLiveTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiLiveTest.java index d38b8051f2..bc4f69a9b9 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiLiveTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/extensions/RouterApiLiveTest.java @@ -42,6 +42,8 @@ import static org.testng.Assert.assertTrue; /** * Tests parsing and Guice wiring of RouterApi + * + * @author Nick Livens */ @Test(groups = "live", testName = "RouterApiLiveTest") public class RouterApiLiveTest extends BaseNeutronApiLiveTest { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiExpectTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiExpectTest.java index 40d676db9d..3e16b52764 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiExpectTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiExpectTest.java @@ -42,6 +42,8 @@ import static org.testng.Assert.assertTrue; /** * Tests parsing and Guice wiring of NetworkApi + * + * @author Nick Livens */ @Test(groups = "unit", testName = "NetworkApiExpectTest") public class NetworkApiExpectTest extends BaseNeutronApiExpectTest { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiLiveTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiLiveTest.java index e123c2e587..6950a89dc3 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiLiveTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApiLiveTest.java @@ -38,6 +38,8 @@ import static org.testng.Assert.assertTrue; /** * Tests parsing and Guice wiring of NetworkApi + * + * @author Nick Livens */ @Test(groups = "live", testName = "NetworkApiLiveTest") public class NetworkApiLiveTest extends BaseNeutronApiLiveTest { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiExpectTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiExpectTest.java index 2231e81a94..47a7af3f52 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiExpectTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiExpectTest.java @@ -41,6 +41,8 @@ import static org.testng.Assert.assertTrue; /** * Tests parsing and Guice wiring of PortApi + * + * @author Nick Livens */ @Test(groups = "unit", testName = "PortApiExpectTest") public class PortApiExpectTest extends BaseNeutronApiExpectTest { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiLiveTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiLiveTest.java index 6a5d4a67f9..1a368b3f9d 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiLiveTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/PortApiLiveTest.java @@ -43,6 +43,8 @@ import com.google.common.collect.Sets; /** * Tests PortApi in combination with the Network & SubnetApi + * + * @author Nick Livens */ @Test(groups = "live", testName = "PortApiLiveTest") public class PortApiLiveTest extends BaseNeutronApiLiveTest { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiExpectTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiExpectTest.java index 0cab1dd80d..581e6a1e7e 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiExpectTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiExpectTest.java @@ -40,6 +40,8 @@ import static org.testng.Assert.assertTrue; /** * Tests parsing and Guice wiring of SubnetApi + * + * @author Nick Livens */ @Test(groups = "unit", testName = "SubnetApiExpectTest") public class SubnetApiExpectTest extends BaseNeutronApiExpectTest { diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiLiveTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiLiveTest.java index 3bde9a1504..bd3574fef9 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiLiveTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApiLiveTest.java @@ -43,6 +43,8 @@ import com.google.common.collect.Sets; /** * Tests subnet api in combination with the network api + * + * @author Nick Livens */ @Test(groups = "live", testName = "SubnetApiLiveTest") public class SubnetApiLiveTest extends BaseNeutronApiLiveTest {