diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java index 2a0e50dd37..ff19eb897c 100644 --- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java +++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java @@ -16,7 +16,6 @@ */ package org.jclouds.rackspace.cloudfiles.v1; -import org.jclouds.javax.annotation.Nullable; import org.jclouds.openstack.swift.v1.SwiftApi; import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi; import org.jclouds.rackspace.cloudfiles.v1.functions.RegionToCDNEndpoint; @@ -47,7 +46,7 @@ public interface CloudFilesApi extends SwiftApi { * @return the {@link CDNApi} for the specified region. */ @Delegate - CDNApi getCDNApi(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region); + CDNApi getCDNApi(@EndpointParam(parser = RegionToCDNEndpoint.class) String region); /** * Provides access to Cloud Files CDN features. @@ -60,5 +59,5 @@ public interface CloudFilesApi extends SwiftApi { */ @Deprecated @Delegate - CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region); + CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) String region); } diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java index 27a9e8cbb5..e88626f57e 100644 --- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java +++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java @@ -39,7 +39,6 @@ import org.jclouds.Fallbacks.FalseOnNotFoundOr404; import org.jclouds.Fallbacks.NullOnNotFoundOr404; import org.jclouds.javax.annotation.Nullable; import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest; -import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi; import org.jclouds.rackspace.cloudfiles.v1.binders.BindCDNPurgeEmailAddressesToHeaders; import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer; import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerFromHeaders; @@ -60,12 +59,12 @@ import com.google.common.collect.FluentIterable; * Provides access to the Rackspace Cloud Files CDN API features. * *

NOTE

- * Before a container can be CDN enabled, it must exist in the storage system. - * To CDN enable the container, perform PUT request against it using the publicURL - * noted in the service catalog for Cloud Files during Authentication and set the + * Before a container can be CDN enabled, it must exist in the storage system. + * To CDN enable the container, perform PUT request against it using the publicURL + * noted in the service catalog for Cloud Files during Authentication and set the * X-CDN-Enabled header to true. - * - * @see {@link CloudFilesApi#getCDNApiForRegion(String)} + * + * @see {@link org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi#getCDNApi(String)} */ @Beta @RequestFilters(AuthenticateRequest.class) @@ -74,7 +73,7 @@ public interface CDNApi extends Closeable { /** * Lists up to 10,000 CDN containers. - * + * * @return a list of CDN enabled containers ordered by name. */ @Named("cdn:list") @@ -86,10 +85,10 @@ public interface CDNApi extends Closeable { /** * Lists CDN containers, with the given options. - * + * * @param options * the options to control output. - * + * * @return a list of CDN enabled containers ordered by name. */ @Named("cdn:list") @@ -101,10 +100,10 @@ public interface CDNApi extends Closeable { /** * Gets the specified CDN Container. - * + * * @param containerName * the name of the CDN Container - * + * * @return the CDNContainer or null, if not found. */ @Named("cdn:get") @@ -117,10 +116,10 @@ public interface CDNApi extends Closeable { /** * Enables the {@link CDNContainer}. - * + * * @param containerName * corresponds to {@link CDNContainer#getName()}. - * + * * @return the CDN container {@link URI} or {@code null}, if not found. */ @Named("cdn:enable") @@ -134,12 +133,12 @@ public interface CDNApi extends Closeable { /** * Enables the {@link CDNContainer} with a TTL. - * + * * @param containerName * corresponds to {@link CDNContainer#getName()}. * @param ttl * the TTL for the CDN Container. - * + * * @return the CDN container {@link URI} or {@code null}, if not found. */ @Named("cdn:enable") @@ -149,15 +148,15 @@ public interface CDNApi extends Closeable { @Path("/{containerName}") @Headers(keys = CDN_ENABLED, values = "true") @Nullable - URI enable(@PathParam("containerName") String containerName, + URI enable(@PathParam("containerName") String containerName, @HeaderParam(CDN_TTL) int ttl); /** * Disables the {@link CDNContainer}. - * + * * @param containerName * corresponds to {@link CDNContainer#getName()}. - * + * * @return {@code true} if the container was disabled, {@code false} if not. */ @Named("cdn:disable") @@ -169,14 +168,14 @@ public interface CDNApi extends Closeable { /** * Purges an object from the CDN. - * + * * @param containerName * corresponds to {@link CDNContainer#getName()}. * @param objectName * the object in the {@link CDNContainer} to purge. * @param emails * the email addresses to notify after purging. - * + * * @return {@code true} if the object was successfully purged, {@code false} if not. */ @Named("cdn:purge") @@ -184,16 +183,16 @@ public interface CDNApi extends Closeable { @Fallback(FalseOnNotFoundOr404.class) @Path("/{containerName}/{objectName}") @Headers(keys = CloudFilesHeaders.CDN_PURGE_OBJECT_EMAIL, values = "{email}") - boolean purgeObject(@PathParam("containerName") String containerName, - @PathParam("objectName") String objectName, + boolean purgeObject(@PathParam("containerName") String containerName, + @PathParam("objectName") String objectName, @BinderParam(BindCDNPurgeEmailAddressesToHeaders.class) Iterable emails); /** * Updates a CDN container with the supplied {@link UpdateCDNContainerOptions} options. - * + * * @param containerName * corresponds to {@link CDNContainer#getName()}. - * + * * @param options * the {@link UpdateCDNContainerOptions} options. */ diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java index 3d4e0f9773..38430d62dc 100644 --- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java +++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java @@ -57,11 +57,11 @@ public class ParseCDNContainerFromHeaders implements Function parts = newArrayList(Splitter.on('/').split(request.getEndpoint().getPath())); - checkArgument(parts.size() > 0); - + checkArgument(!parts.isEmpty()); + return CDNContainer.builder().name(parts.get(parts.size() - 1)) .enabled(Boolean.parseBoolean(enabled)) .logRetention(Boolean.parseBoolean(logRetention)) diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java index 866c34f753..07f6f250a2 100644 --- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java +++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java @@ -34,15 +34,15 @@ import com.google.common.base.Function; import com.google.common.base.Supplier; /** - * This class ensures that the correct Cloud Files CDN endpoint is retrieved from the endpoint - * supplier. The CDN API should never be instantiated directly, but rather accessed through the + * This class ensures that the correct Cloud Files CDN endpoint is retrieved from the endpoint + * supplier. The CDN API should never be instantiated directly, but rather accessed through the * {@link CloudFilesApi#cdnApiInRegion(String)} API. *

*

NOTE

* The Cloud Files Service Type will always default to OpenStack Object Storage ("object-storage"). *

- * - * + * + * * @see CloudFilesApi#cdnApiInRegion(String) * @see CDNApi * @see RegionToEndpoint @@ -53,7 +53,7 @@ import com.google.common.base.Supplier; * Service Access Endpoints */ @Singleton -public class RegionToCDNEndpoint implements Function { +public class RegionToCDNEndpoint implements Function { private final Supplier>> endpointsSupplier; @@ -65,7 +65,7 @@ public class RegionToCDNEndpoint implements Function { public URI apply(@Nullable Object from) { checkArgument(from != null && from instanceof String, "you must specify a region, as a String argument"); Map> regionToEndpoint = endpointsSupplier.get(); - checkState(regionToEndpoint.size() > 0, "no region name to endpoint mappings configured!"); + checkState(!regionToEndpoint.isEmpty(), "no region name to endpoint mappings configured!"); checkArgument(regionToEndpoint.containsKey(from), "requested location %s, which is not in the configured locations: %s", from, regionToEndpoint); return regionToEndpoint.get(from).get();