Return-Path: X-Original-To: apmail-brooklyn-commits-archive@minotaur.apache.org Delivered-To: apmail-brooklyn-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EDCDB1089A for ; Sun, 1 Jun 2014 18:55:35 +0000 (UTC) Received: (qmail 76269 invoked by uid 500); 1 Jun 2014 18:55:35 -0000 Delivered-To: apmail-brooklyn-commits-archive@brooklyn.apache.org Received: (qmail 76246 invoked by uid 500); 1 Jun 2014 18:55:35 -0000 Mailing-List: contact commits-help@brooklyn.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@brooklyn.incubator.apache.org Delivered-To: mailing list commits@brooklyn.incubator.apache.org Received: (qmail 76239 invoked by uid 99); 1 Jun 2014 18:55:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Jun 2014 18:55:35 +0000 X-ASF-Spam-Status: No, hits=-2000.7 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Sun, 01 Jun 2014 18:55:35 +0000 Received: (qmail 76168 invoked by uid 99); 1 Jun 2014 18:55:11 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Jun 2014 18:55:11 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id D72BC839DBA; Sun, 1 Jun 2014 18:55:10 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: richard@apache.org To: commits@brooklyn.incubator.apache.org Date: Sun, 01 Jun 2014 18:55:10 -0000 Message-Id: <940ac162d00d48a68b543ff17e28cdb5@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] git commit: API methods returning `Iterable` breaks RESTclient X-Virus-Checked: Checked by ClamAV on apache.org Repository: incubator-brooklyn Updated Branches: refs/heads/master 82ff6e8e5 -> 1e9d2a914 API methods returning `Iterable` breaks RESTclient It is impossible to use the official rest-client module on API methods that return `Iterable`, as Jackson does not know which concrete type to implement. The Jackson configuration is hidden behind RESTeasy, so reconfiguring Jackson is non trivial. This PR changes some API calls from `Iterable` to `List`, which RESTeasy/Jackson is able to deserialize. Further PRs will need to follow for other `Iterable`-returning API methods. Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6183ff6a Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6183ff6a Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6183ff6a Branch: refs/heads/master Commit: 6183ff6a8fab06ba4cb4f084651d05e73503da51 Parents: 48df48a Author: Richard Downer Authored: Sat May 31 14:46:33 2014 +0100 Committer: Richard Downer Committed: Sat May 31 14:55:27 2014 +0100 ---------------------------------------------------------------------- .../src/main/java/brooklyn/rest/api/ApplicationApi.java | 5 +++-- .../brooklyn/rest/resources/ApplicationResource.java | 11 +++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6183ff6a/usage/rest-api/src/main/java/brooklyn/rest/api/ApplicationApi.java ---------------------------------------------------------------------- diff --git a/usage/rest-api/src/main/java/brooklyn/rest/api/ApplicationApi.java b/usage/rest-api/src/main/java/brooklyn/rest/api/ApplicationApi.java index abe75af..ba59250 100644 --- a/usage/rest-api/src/main/java/brooklyn/rest/api/ApplicationApi.java +++ b/usage/rest-api/src/main/java/brooklyn/rest/api/ApplicationApi.java @@ -1,5 +1,6 @@ package brooklyn.rest.api; +import java.util.List; import java.util.Map; import javax.validation.Valid; @@ -57,7 +58,7 @@ public interface ApplicationApi { value = "Fetch list of applications, as ApplicationSummary objects", responseClass = "brooklyn.rest.domain.ApplicationSummary" ) - public Iterable list() ; + public List list() ; @GET @Path("/{application}") @@ -170,7 +171,7 @@ public interface ApplicationApi { @ApiErrors(value = { @ApiError(code = 404, reason = "Application or entity missing") }) - public Iterable getDescendants( + public List getDescendants( @ApiParam(value = "Application ID or name", required = true) @PathParam("application") String application, @ApiParam(value="Regular expression for an entity type which must be matched", required=false) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6183ff6a/usage/rest-server/src/main/java/brooklyn/rest/resources/ApplicationResource.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/main/java/brooklyn/rest/resources/ApplicationResource.java b/usage/rest-server/src/main/java/brooklyn/rest/resources/ApplicationResource.java index b270773..9a72d24 100644 --- a/usage/rest-server/src/main/java/brooklyn/rest/resources/ApplicationResource.java +++ b/usage/rest-server/src/main/java/brooklyn/rest/resources/ApplicationResource.java @@ -59,7 +59,7 @@ import brooklyn.util.collections.MutableMap; import brooklyn.util.exceptions.Exceptions; import com.google.common.base.Throwables; -import com.google.common.collect.Collections2; +import com.google.common.collect.FluentIterable; import com.google.common.collect.Iterables; @@ -182,8 +182,11 @@ public class ApplicationResource extends AbstractBrooklynRestResource implements } @Override - public Iterable list() { - return Collections2.transform(mgmt().getApplications(), ApplicationTransformer.FROM_APPLICATION); + public List list() { + return FluentIterable + .from(mgmt().getApplications()) + .transform(ApplicationTransformer.FROM_APPLICATION) + .toList(); } @Override @@ -353,7 +356,7 @@ public class ApplicationResource extends AbstractBrooklynRestResource implements } @Override - public Iterable getDescendants(String application, String typeRegex) { + public List getDescendants(String application, String typeRegex) { return EntityTransformer.entitySummaries(brooklyn().descendantsOfType(application, application, typeRegex)); }