Updated Branches: refs/heads/master 60fd86d3c -> e3c8147e2
Refactored OpenStack pagination to use PaginationOptions. Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/commit/e3c8147e Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/tree/e3c8147e Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/diff/e3c8147e Branch: refs/heads/master Commit: e3c8147e270029b817e0f387433c508ca0b38777 Parents: 60fd86d Author: Everett Toews <[email protected]> Authored: Wed Oct 23 16:52:27 2013 -0500 Committer: Everett Toews <[email protected]> Committed: Thu Oct 24 18:38:12 2013 -0500 ---------------------------------------------------------------------- .../openstack/glance/v1_0/features/ImageApi.java | 2 +- .../v1_0/functions/internal/ParseImageDetails.java | 16 ++++++++++++++-- .../glance/v1_0/functions/internal/ParseImages.java | 16 ++++++++++++++-- .../openstack/neutron/v2_0/features/NetworkApi.java | 2 +- .../openstack/neutron/v2_0/features/PortApi.java | 2 +- .../openstack/neutron/v2_0/features/SubnetApi.java | 2 +- .../neutron/v2_0/functions/ParseNetworkDetails.java | 7 ++++--- .../neutron/v2_0/functions/ParseNetworks.java | 7 ++++--- .../neutron/v2_0/functions/ParsePortDetails.java | 7 ++++--- .../neutron/v2_0/functions/ParsePorts.java | 8 ++++---- .../neutron/v2_0/functions/ParseSubnetDetails.java | 7 ++++--- .../neutron/v2_0/functions/ParseSubnets.java | 7 ++++--- 12 files changed, 56 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java ---------------------------------------------------------------------- diff --git a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java index 5747f72..b8b4c75 100644 --- a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java +++ b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java @@ -47,7 +47,7 @@ import org.jclouds.openstack.glance.v1_0.options.CreateImageOptions; import org.jclouds.openstack.glance.v1_0.options.ListImageOptions; import org.jclouds.openstack.glance.v1_0.options.UpdateImageOptions; import org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest; import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.RequestFilters; http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImageDetails.java ---------------------------------------------------------------------- diff --git a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImageDetails.java b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImageDetails.java index 8e049fe..6a6f3ac 100644 --- a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImageDetails.java +++ b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImageDetails.java @@ -20,11 +20,14 @@ import static com.google.common.base.Preconditions.checkNotNull; import static org.jclouds.openstack.glance.v1_0.options.ListImageOptions.Builder.marker; import java.beans.ConstructorProperties; +import java.util.Collection; import javax.inject.Inject; import javax.inject.Singleton; +import com.google.common.collect.Iterables; import org.jclouds.collect.IterableWithMarker; +import org.jclouds.collect.IterableWithMarkers; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; @@ -32,13 +35,14 @@ import org.jclouds.openstack.glance.v1_0.GlanceApi; import org.jclouds.openstack.glance.v1_0.domain.ImageDetails; import org.jclouds.openstack.glance.v1_0.features.ImageApi; import org.jclouds.openstack.glance.v1_0.functions.internal.ParseImageDetails.Images; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.v2_0.domain.Link; import com.google.common.annotations.Beta; import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.inject.TypeLiteral; +import org.jclouds.openstack.v2_0.options.PaginationOptions; /** * boiler plate until we determine a better way @@ -80,7 +84,15 @@ public class ParseImageDetails extends ParseJson<Images> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<ImageDetails> apply(Object input) { - return IterableWithMarker.class.cast(imageApi.listInDetail(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + Collection<String> markers = paginationOptions.buildQueryParameters().get("marker"); + + if (!markers.isEmpty()) { + return IterableWithMarker.class.cast(imageApi.listInDetail(marker(Iterables.get(markers, 0)))); + } + else { + return IterableWithMarkers.EMPTY; + } } @Override http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImages.java ---------------------------------------------------------------------- diff --git a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImages.java b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImages.java index 671be38..c9c8d6e 100644 --- a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImages.java +++ b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/functions/internal/ParseImages.java @@ -20,11 +20,14 @@ import static com.google.common.base.Preconditions.checkNotNull; import static org.jclouds.openstack.glance.v1_0.options.ListImageOptions.Builder.marker; import java.beans.ConstructorProperties; +import java.util.Collection; import javax.inject.Inject; import javax.inject.Singleton; +import com.google.common.collect.Iterables; import org.jclouds.collect.IterableWithMarker; +import org.jclouds.collect.IterableWithMarkers; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; @@ -32,13 +35,14 @@ import org.jclouds.openstack.glance.v1_0.GlanceApi; import org.jclouds.openstack.glance.v1_0.domain.Image; import org.jclouds.openstack.glance.v1_0.features.ImageApi; import org.jclouds.openstack.glance.v1_0.functions.internal.ParseImages.Images; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.v2_0.domain.Link; import com.google.common.annotations.Beta; import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.inject.TypeLiteral; +import org.jclouds.openstack.v2_0.options.PaginationOptions; /** * boiler plate until we determine a better way @@ -80,7 +84,15 @@ public class ParseImages extends ParseJson<Images> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<Image> apply(Object input) { - return IterableWithMarker.class.cast(imageApi.list(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + Collection<String> markers = paginationOptions.buildQueryParameters().get("marker"); + + if (!markers.isEmpty()) { + return IterableWithMarker.class.cast(imageApi.listInDetail(marker(Iterables.get(markers, 0)))); + } + else { + return IterableWithMarkers.EMPTY; + } } @Override http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApi.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApi.java index 22d8416..65550a4 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApi.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/NetworkApi.java @@ -21,7 +21,7 @@ package org.jclouds.openstack.neutron.v2_0.features; import com.google.common.collect.FluentIterable; import org.jclouds.Fallbacks; import org.jclouds.collect.PagedIterable; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest; import org.jclouds.openstack.neutron.v2_0.domain.Network; import org.jclouds.openstack.neutron.v2_0.domain.ReferenceWithName; http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/PortApi.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/PortApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/PortApi.java index 12d923d..db412e7 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/PortApi.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/PortApi.java @@ -21,7 +21,7 @@ package org.jclouds.openstack.neutron.v2_0.features; import com.google.common.collect.FluentIterable; import org.jclouds.Fallbacks; import org.jclouds.collect.PagedIterable; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest; import org.jclouds.openstack.neutron.v2_0.domain.Port; import org.jclouds.openstack.neutron.v2_0.domain.ReferenceWithName; http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApi.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApi.java index d08ca7b..e83096e 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApi.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/features/SubnetApi.java @@ -21,7 +21,7 @@ package org.jclouds.openstack.neutron.v2_0.features; import com.google.common.collect.FluentIterable; import org.jclouds.Fallbacks; import org.jclouds.collect.PagedIterable; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; 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.Subnet; http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java index af4e608..e641c70 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworkDetails.java @@ -24,19 +24,19 @@ import org.jclouds.collect.IterableWithMarker; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.neutron.v2_0.NeutronApi; import org.jclouds.openstack.neutron.v2_0.domain.Network; import org.jclouds.openstack.neutron.v2_0.features.NetworkApi; import org.jclouds.openstack.neutron.v2_0.functions.ParseNetworkDetails.Networks; import org.jclouds.openstack.v2_0.domain.Link; +import org.jclouds.openstack.v2_0.options.PaginationOptions; import javax.inject.Inject; import javax.inject.Singleton; 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 @@ -76,7 +76,8 @@ public class ParseNetworkDetails extends ParseJson<Networks> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<Network> apply(Object input) { - return IterableWithMarker.class.cast(networkApi.listInDetail(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + return IterableWithMarker.class.cast(networkApi.listInDetail(paginationOptions)); } @Override http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java index da628bc..a45fee8 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseNetworks.java @@ -24,19 +24,19 @@ import org.jclouds.collect.IterableWithMarker; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.neutron.v2_0.NeutronApi; import org.jclouds.openstack.neutron.v2_0.domain.ReferenceWithName; import org.jclouds.openstack.neutron.v2_0.features.NetworkApi; import org.jclouds.openstack.neutron.v2_0.functions.ParseNetworks.Networks; import org.jclouds.openstack.v2_0.domain.Link; +import org.jclouds.openstack.v2_0.options.PaginationOptions; import javax.inject.Inject; import javax.inject.Singleton; 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 @@ -76,7 +76,8 @@ public class ParseNetworks extends ParseJson<Networks> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<ReferenceWithName> apply(Object input) { - return IterableWithMarker.class.cast(networkApi.list(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + return IterableWithMarker.class.cast(networkApi.list(paginationOptions)); } @Override http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java index e57dadd..e545f01 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePortDetails.java @@ -24,20 +24,20 @@ import org.jclouds.collect.IterableWithMarker; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.neutron.v2_0.NeutronApi; import org.jclouds.openstack.neutron.v2_0.domain.Port; import org.jclouds.openstack.neutron.v2_0.domain.ReferenceWithName; import org.jclouds.openstack.neutron.v2_0.features.PortApi; import org.jclouds.openstack.neutron.v2_0.functions.ParsePortDetails.Ports; import org.jclouds.openstack.v2_0.domain.Link; +import org.jclouds.openstack.v2_0.options.PaginationOptions; import javax.inject.Inject; import javax.inject.Singleton; 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 @@ -77,7 +77,8 @@ public class ParsePortDetails extends ParseJson<Ports> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<ReferenceWithName> apply(Object input) { - return IterableWithMarker.class.cast(portApi.listInDetail(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + return IterableWithMarker.class.cast(portApi.listInDetail(paginationOptions)); } @Override http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java index 837dc56..028c5d1 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParsePorts.java @@ -24,20 +24,19 @@ import org.jclouds.collect.IterableWithMarker; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.neutron.v2_0.NeutronApi; import org.jclouds.openstack.neutron.v2_0.domain.ReferenceWithName; -import org.jclouds.openstack.neutron.v2_0.features.NetworkApi; import org.jclouds.openstack.neutron.v2_0.features.PortApi; import org.jclouds.openstack.neutron.v2_0.functions.ParsePorts.Ports; import org.jclouds.openstack.v2_0.domain.Link; +import org.jclouds.openstack.v2_0.options.PaginationOptions; import javax.inject.Inject; import javax.inject.Singleton; 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 @@ -77,7 +76,8 @@ public class ParsePorts extends ParseJson<Ports> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<ReferenceWithName> apply(Object input) { - return IterableWithMarker.class.cast(portApi.list(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + return IterableWithMarker.class.cast(portApi.list(paginationOptions)); } @Override http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java index 433dbca..dc3af6e 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnetDetails.java @@ -24,19 +24,19 @@ import org.jclouds.collect.IterableWithMarker; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.neutron.v2_0.NeutronApi; import org.jclouds.openstack.neutron.v2_0.domain.Subnet; import org.jclouds.openstack.neutron.v2_0.features.SubnetApi; import org.jclouds.openstack.neutron.v2_0.functions.ParseSubnetDetails.Subnets; import org.jclouds.openstack.v2_0.domain.Link; +import org.jclouds.openstack.v2_0.options.PaginationOptions; import javax.inject.Inject; import javax.inject.Singleton; 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 @@ -76,7 +76,8 @@ public class ParseSubnetDetails extends ParseJson<Subnets> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<Subnet> apply(Object input) { - return IterableWithMarker.class.cast(subnetApi.listInDetail(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + return IterableWithMarker.class.cast(subnetApi.listInDetail(paginationOptions)); } @Override http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs-openstack/blob/e3c8147e/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java index 1f0f61e..4f2fb43 100644 --- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java +++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/functions/ParseSubnets.java @@ -24,19 +24,19 @@ import org.jclouds.collect.IterableWithMarker; import org.jclouds.collect.internal.Arg0ToPagedIterable; import org.jclouds.http.functions.ParseJson; import org.jclouds.json.Json; -import org.jclouds.openstack.keystone.v2_0.domain.PaginatedCollection; +import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import org.jclouds.openstack.neutron.v2_0.NeutronApi; import org.jclouds.openstack.neutron.v2_0.domain.ReferenceWithName; import org.jclouds.openstack.neutron.v2_0.features.SubnetApi; import org.jclouds.openstack.neutron.v2_0.functions.ParseSubnets.Subnets; import org.jclouds.openstack.v2_0.domain.Link; +import org.jclouds.openstack.v2_0.options.PaginationOptions; import javax.inject.Inject; import javax.inject.Singleton; 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 @@ -76,7 +76,8 @@ public class ParseSubnets extends ParseJson<Subnets> { @SuppressWarnings("unchecked") @Override public IterableWithMarker<ReferenceWithName> apply(Object input) { - return IterableWithMarker.class.cast(subnetApi.list(marker(input.toString()))); + PaginationOptions paginationOptions = PaginationOptions.class.cast(input); + return IterableWithMarker.class.cast(subnetApi.list(paginationOptions)); } @Override
