You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ev...@apache.org on 2013/10/25 01:38:28 UTC
git commit: Refactored OpenStack pagination to use PaginationOptions.
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 <ev...@rackspace.com>
Authored: Wed Oct 23 16:52:27 2013 -0500
Committer: Everett Toews <ev...@rackspace.com>
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