Repository: jclouds Updated Branches: refs/heads/master 9384575d1 -> d309e4572
JCLOUDS-686: Remove changesSince() query from base PaginationOptions Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/d309e457 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/d309e457 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/d309e457 Branch: refs/heads/master Commit: d309e457256e794f35542f136af5fbadaa66325a Parents: 9384575 Author: Jeremy Daggett <[email protected]> Authored: Tue Aug 26 13:17:07 2014 -0700 Committer: Jeremy Daggett <[email protected]> Committed: Thu Sep 11 09:27:55 2014 -0700 ---------------------------------------------------------------------- .../v2_0/domain/PaginatedCollection.java | 3 -- .../v2_0/options/PaginationOptions.java | 42 ++++++++++------- .../v2_0/options/PaginationOptionsTest.java | 17 ------- .../nova/v2_0/options/ListOptions.java | 43 ++++++++++------- .../nova/v2_0/options/ListOptionsTest.java | 49 ++++++++++++++++++++ 5 files changed, 98 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/d309e457/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/domain/PaginatedCollection.java ---------------------------------------------------------------------- diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/domain/PaginatedCollection.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/domain/PaginatedCollection.java index 13e34c7..cca9ede 100644 --- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/domain/PaginatedCollection.java +++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/domain/PaginatedCollection.java @@ -30,9 +30,6 @@ import static org.jclouds.http.utils.Queries.queryParser; /** * Base class for a paginated collection in OpenStack. * - * @see <a - * href="http://docs.openstack.org/api/openstack-identity-service/2.0/content/Paginated_Collections-d1e325.html"> - * docs</a> */ public class PaginatedCollection<T> extends IterableWithMarker<T> { private final Iterable<T> resources; http://git-wip-us.apache.org/repos/asf/jclouds/blob/d309e457/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/options/PaginationOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/options/PaginationOptions.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/options/PaginationOptions.java index 5d1f30d..80ac010 100644 --- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/options/PaginationOptions.java +++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/v2_0/options/PaginationOptions.java @@ -21,15 +21,13 @@ import static com.google.common.base.Preconditions.checkState; import java.util.Date; -import com.google.common.collect.Multimap; import org.jclouds.http.options.BaseHttpRequestOptions; +import com.google.common.collect.Multimap; + /** * Options used to control paginated results (aka list commands). - * - * @see <a href= - * "http://docs.openstack.org/api/openstack-compute/2/content/Paginated_Collections-d1e664.html" - * /> + * */ public class PaginationOptions extends BaseHttpRequestOptions { /** @@ -43,10 +41,15 @@ public class PaginationOptions extends BaseHttpRequestOptions { } /** - * Only return objects changed since this time. + * Only return objects changed since a specified time. + * + * @deprecated The {@code changes-since} query does not apply to all OpenStack APIs. Please refer to the OpenStack + * Nova {@code ListOptions.changesSince(Date)} and Glance {@code ListImageOptions.changesSince(Date)}. + * This option will be removed in 2.1. */ - public PaginationOptions changesSince(Date ifModifiedSince) { - this.queryParameters.put("changes-since", checkNotNull(ifModifiedSince, "ifModifiedSince").getTime() / 1000 + ""); + @Deprecated + public PaginationOptions changesSince(Date changesSince) { + this.queryParameters.put("changes-since", checkNotNull(changesSince, "changesSince").getTime() / 1000 + ""); return this; } @@ -84,28 +87,31 @@ public class PaginationOptions extends BaseHttpRequestOptions { } /** - * @see PaginationOptions#marker(String) + * @see PaginationOptions#changesSince(Date) + * @deprecated The {@code changes-since} query does not apply to all OpenStack APIs. Please refer to the OpenStack + * Nova {@code ListOptions.changesSince(Date)} and Glance {@code ListImageOptions.changesSince(Date)}. + * This option will be removed in 2.1. */ - public static PaginationOptions marker(String marker) { + @Deprecated + public static PaginationOptions changesSince(Date changesSince) { PaginationOptions options = new PaginationOptions(); - return options.marker(marker); + return options.changesSince(changesSince); } /** - * @see PaginationOptions#limit + * @see PaginationOptions#marker(String) */ - public static PaginationOptions limit(int limit) { + public static PaginationOptions marker(String marker) { PaginationOptions options = new PaginationOptions(); - return options.limit(limit); + return options.marker(marker); } /** - * @see PaginationOptions#changesSince(Date) + * @see PaginationOptions#limit(int) */ - public static PaginationOptions changesSince(Date since) { + public static PaginationOptions limit(int limit) { PaginationOptions options = new PaginationOptions(); - return options.changesSince(since); + return options.limit(limit); } - } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/d309e457/apis/openstack-keystone/src/test/java/org/jclouds/openstack/v2_0/options/PaginationOptionsTest.java ---------------------------------------------------------------------- diff --git a/apis/openstack-keystone/src/test/java/org/jclouds/openstack/v2_0/options/PaginationOptionsTest.java b/apis/openstack-keystone/src/test/java/org/jclouds/openstack/v2_0/options/PaginationOptionsTest.java index 9171448..9a6588b 100644 --- a/apis/openstack-keystone/src/test/java/org/jclouds/openstack/v2_0/options/PaginationOptionsTest.java +++ b/apis/openstack-keystone/src/test/java/org/jclouds/openstack/v2_0/options/PaginationOptionsTest.java @@ -16,13 +16,10 @@ */ package org.jclouds.openstack.v2_0.options; -import static org.jclouds.openstack.v2_0.options.PaginationOptions.Builder.changesSince; import static org.jclouds.openstack.v2_0.options.PaginationOptions.Builder.limit; import static org.jclouds.openstack.v2_0.options.PaginationOptions.Builder.marker; import static org.testng.Assert.assertEquals; -import java.util.Date; - import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; @@ -33,13 +30,6 @@ import com.google.common.collect.ImmutableList; @Test(groups = "unit", testName = "PaginationOptionsTest") public class PaginationOptionsTest { - public void testChangesSince() { - Date ifModifiedSince = new Date(); - PaginationOptions options = new PaginationOptions().changesSince(ifModifiedSince); - assertEquals(ImmutableList.of(ifModifiedSince.getTime() / 1000 + ""), - options.buildQueryParameters().get("changes-since")); - } - public void testMarker() { String marker = "52415800-8b69-11e0-9b19-734f6f006e54"; PaginationOptions options = new PaginationOptions().marker(marker); @@ -52,13 +42,6 @@ public class PaginationOptionsTest { assertEquals(ImmutableList.of("1"), options.buildQueryParameters().get("limit")); } - public void testChangesSinceStatic() { - Date ifModifiedSince = new Date(); - PaginationOptions options = changesSince(ifModifiedSince); - assertEquals(ImmutableList.of(ifModifiedSince.getTime() / 1000 + ""), - options.buildQueryParameters().get("changes-since")); - } - public void testMarkerStatic() { String marker = "52415800-8b69-11e0-9b19-734f6f006e54"; PaginationOptions options = marker(marker); http://git-wip-us.apache.org/repos/asf/jclouds/blob/d309e457/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/ListOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/ListOptions.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/ListOptions.java index 848f3c3..6b1e648 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/ListOptions.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/ListOptions.java @@ -16,24 +16,23 @@ */ package org.jclouds.openstack.nova.v2_0.options; +import static com.google.common.base.Preconditions.checkNotNull; + import java.util.Date; import org.jclouds.openstack.v2_0.options.PaginationOptions; /** * Options used to control the amount of detail in the request. - * + * * @see PaginationOptions - * @see <a href="http://wiki.openstack.org/OpenStackAPI_1-1" /> */ public class ListOptions extends PaginationOptions { public static final ListOptions NONE = new ListOptions(); /** - * unless used, only the name and id will be returned per row. - * - * @return + * Provides detailed results for list operations. */ public ListOptions withDetails() { this.pathSuffix = "/detail"; @@ -44,8 +43,8 @@ public class ListOptions extends PaginationOptions { * {@inheritDoc} */ @Override - public ListOptions changesSince(Date ifModifiedSince) { - super.changesSince(ifModifiedSince); + public ListOptions limit(int limit) { + super.limit(limit); return this; } @@ -53,18 +52,16 @@ public class ListOptions extends PaginationOptions { * {@inheritDoc} */ @Override - public ListOptions limit(int limit) { - super.limit(limit); + public ListOptions marker(String marker) { + super.marker(marker); return this; - } /** - * {@inheritDoc} + * Checks for any changes since the given date. */ - @Override - public ListOptions marker(String marker) { - super.marker(marker); + public ListOptions changesSince(Date changesSince) { + this.queryParameters.put("changes-since", checkNotNull(changesSince, "changesSince").getTime() / 1000 + ""); return this; } @@ -87,15 +84,25 @@ public class ListOptions extends PaginationOptions { } /** - * @see PaginationOptions#limit(long) + * @see PaginationOptions#limit(int) */ - public static ListOptions maxResults(int maxKeys) { + public static ListOptions limit(int limit) { ListOptions options = new ListOptions(); - return options.limit(maxKeys); + return options.limit(limit); + } + + /** + * + * @see PaginationOptions#limit(int) + * @deprecated Please use {@link #limit(int)} as this builder method will be removed in 2.0. + */ + @Deprecated + public static ListOptions maxResults(int maxKeys) { + return limit(maxKeys); } /** - * @see PaginationOptions#changesSince(Date) + * @see ListOptions#changesSince(Date) */ public static ListOptions changesSince(Date since) { ListOptions options = new ListOptions(); http://git-wip-us.apache.org/repos/asf/jclouds/blob/d309e457/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/options/ListOptionsTest.java ---------------------------------------------------------------------- diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/options/ListOptionsTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/options/ListOptionsTest.java new file mode 100644 index 0000000..b234153 --- /dev/null +++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/options/ListOptionsTest.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jclouds.openstack.nova.v2_0.options; + +import static org.jclouds.openstack.nova.v2_0.options.ListOptions.Builder.changesSince; +import static org.testng.Assert.assertEquals; + +import java.util.Date; + +import org.jclouds.openstack.v2_0.options.PaginationOptions; +import org.testng.annotations.Test; + +import com.google.common.collect.ImmutableList; + +/** + * Tests behavior of {@code ListOptions} + */ +@Test(groups = "unit") +public class ListOptionsTest { + + public void testChangesSince() { + Date ifModifiedSince = new Date(); + ListOptions options = new ListOptions().changesSince(ifModifiedSince); + assertEquals(ImmutableList.of(ifModifiedSince.getTime() / 1000 + ""), + options.buildQueryParameters().get("changes-since")); + } + + public void testChangesSinceStatic() { + Date ifModifiedSince = new Date(); + PaginationOptions options = changesSince(ifModifiedSince); + assertEquals(ImmutableList.of(ifModifiedSince.getTime() / 1000 + ""), + options.buildQueryParameters().get("changes-since")); + } + +}
