diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/VAppTemplatesForCatalogItems.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/VAppTemplatesForCatalogItems.java index 200a8399ea..381afbcd95 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/VAppTemplatesForCatalogItems.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/VAppTemplatesForCatalogItems.java @@ -19,6 +19,7 @@ package org.jclouds.vcloud.functions; import static com.google.common.collect.Iterables.filter; +import static org.jclouds.Constants.PROPERTY_USER_THREADS; import static org.jclouds.concurrent.FutureIterables.transformParallel; import java.util.concurrent.ExecutorService; @@ -29,13 +30,8 @@ import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; -import org.jclouds.Constants; import org.jclouds.compute.reference.ComputeServiceConstants; -import org.jclouds.concurrent.ExceptionParsingListenableFuture; -import org.jclouds.concurrent.Futures; import org.jclouds.logging.Logger; -import org.jclouds.rest.AuthorizationException; -import org.jclouds.util.Iterables2; import org.jclouds.vcloud.VCloudAsyncClient; import org.jclouds.vcloud.VCloudMediaType; import org.jclouds.vcloud.domain.CatalogItem; @@ -44,7 +40,6 @@ import org.jclouds.vcloud.domain.VAppTemplate; import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import com.google.common.base.Throwables; /** * @author Adrian Cole @@ -53,34 +48,20 @@ import com.google.common.base.Throwables; public class VAppTemplatesForCatalogItems implements Function, Iterable> { @Resource @Named(ComputeServiceConstants.COMPUTE_LOGGER) - public Logger logger = Logger.NULL; + private Logger logger = Logger.NULL; private final VCloudAsyncClient aclient; private final ExecutorService executor; - private final NullOnAuthorizationException NullOnAuthorizationException; - @Singleton - static class NullOnAuthorizationException implements Function { - - public VAppTemplate apply(Exception from) { - if (from instanceof AuthorizationException) { - return null; - } - throw Throwables.propagate(from); - } - } @Inject - VAppTemplatesForCatalogItems(VCloudAsyncClient aclient, - @Named(Constants.PROPERTY_USER_THREADS) ExecutorService executor, - NullOnAuthorizationException NullOnAuthorizationException) { + VAppTemplatesForCatalogItems(VCloudAsyncClient aclient, @Named(PROPERTY_USER_THREADS) ExecutorService executor) { this.aclient = aclient; this.executor = executor; - this.NullOnAuthorizationException = NullOnAuthorizationException; } @Override public Iterable apply(Iterable from) { - return Iterables2.concreteCopy(filter(transformParallel(filter(from, new Predicate() { + return filter(transformParallel(filter(from, new Predicate() { @Override public boolean apply(CatalogItem input) { @@ -91,12 +72,10 @@ public class VAppTemplatesForCatalogItems implements Function apply(CatalogItem from) { - return new ExceptionParsingListenableFuture(Futures.makeListenable(VCloudAsyncClient.class - .cast(aclient).getVAppTemplateClient().getVAppTemplate(from.getEntity().getHref()), executor), - NullOnAuthorizationException); + return aclient.getVAppTemplateClient().getVAppTemplate(from.getEntity().getHref()); } - }, executor, null, logger, "vappTemplates in"), Predicates.notNull())); + }, executor, null, logger, "vappTemplates in"), Predicates.notNull()); } } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/VAppTemplatesForCatalogItems.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/VAppTemplatesForCatalogItems.java index 0734cd25c7..fecca6303e 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/VAppTemplatesForCatalogItems.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/VAppTemplatesForCatalogItems.java @@ -19,6 +19,7 @@ package org.jclouds.vcloud.director.v1_5.functions; import static com.google.common.collect.Iterables.filter; +import static org.jclouds.Constants.PROPERTY_USER_THREADS; import static org.jclouds.concurrent.FutureIterables.transformParallel; import java.util.concurrent.ExecutorService; @@ -29,12 +30,8 @@ import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; -import org.jclouds.Constants; import org.jclouds.compute.reference.ComputeServiceConstants; -import org.jclouds.concurrent.ExceptionParsingListenableFuture; -import org.jclouds.concurrent.Futures; import org.jclouds.logging.Logger; -import org.jclouds.rest.AuthorizationException; import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType; import org.jclouds.vcloud.director.v1_5.domain.CatalogItem; import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate; @@ -42,7 +39,6 @@ import org.jclouds.vcloud.director.v1_5.user.VCloudDirectorAsyncApi; import com.google.common.base.Function; import com.google.common.base.Predicate; -import com.google.common.base.Throwables; /** * @author danikov @@ -51,29 +47,14 @@ import com.google.common.base.Throwables; public class VAppTemplatesForCatalogItems implements Function, Iterable> { @Resource @Named(ComputeServiceConstants.COMPUTE_LOGGER) - public Logger logger = Logger.NULL; + private Logger logger = Logger.NULL; private final VCloudDirectorAsyncApi aapi; private final ExecutorService executor; - private final NullOnAuthorizationException NullOnAuthorizationException; - - @Singleton - static class NullOnAuthorizationException implements Function { - - public VAppTemplate apply(Exception from) { - if (from instanceof AuthorizationException) { - return null; - } - throw Throwables.propagate(from); - } - } @Inject - VAppTemplatesForCatalogItems(VCloudDirectorAsyncApi aapi, - @Named(Constants.PROPERTY_USER_THREADS) ExecutorService executor, - NullOnAuthorizationException NullOnAuthorizationException) { + VAppTemplatesForCatalogItems(VCloudDirectorAsyncApi aapi, @Named(PROPERTY_USER_THREADS) ExecutorService executor) { this.aapi = aapi; this.executor = executor; - this.NullOnAuthorizationException = NullOnAuthorizationException; } @Override @@ -89,9 +70,7 @@ public class VAppTemplatesForCatalogItems implements Function apply(CatalogItem from) { - return new ExceptionParsingListenableFuture(Futures.makeListenable(VCloudDirectorAsyncApi.class - .cast(aapi).getVAppTemplateApi().get(from.getEntity().getHref()), executor), - NullOnAuthorizationException); + return aapi.getVAppTemplateApi().get(from.getEntity().getHref()); } }, executor, null, logger, "vappTemplates in");