You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2014/11/27 15:32:27 UTC

[12/24] jclouds-labs git commit: JCLOUDS-785: Leave only Abiquo skeleton to start coding Abiquo 3 provider

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListEntities.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListEntities.java b/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListEntities.java
deleted file mode 100644
index b5a2ce3..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListEntities.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.abiquo.strategy;
-
-import org.jclouds.abiquo.domain.DomainWrapper;
-
-/**
- * List all entities of the given type.
- */
-public interface ListEntities<T extends DomainWrapper<?>, P extends DomainWrapper<?>> {
-   Iterable<T> execute(P parent);
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListRootEntities.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListRootEntities.java b/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListRootEntities.java
deleted file mode 100644
index 25b7958..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/strategy/ListRootEntities.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.abiquo.strategy;
-
-import org.jclouds.abiquo.domain.DomainWrapper;
-
-/**
- * List all entities of the given type.
- */
-public interface ListRootEntities<T extends DomainWrapper<?>> {
-   Iterable<T> execute();
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNics.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNics.java b/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNics.java
deleted file mode 100644
index 6e10b54..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNics.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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.abiquo.strategy.cloud;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.transform;
-import static org.jclouds.abiquo.domain.DomainWrapper.wrap;
-
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.cloud.VirtualMachine;
-import org.jclouds.abiquo.domain.network.ExternalIp;
-import org.jclouds.abiquo.domain.network.Ip;
-import org.jclouds.abiquo.domain.network.PrivateIp;
-import org.jclouds.abiquo.domain.network.PublicIp;
-import org.jclouds.abiquo.domain.network.UnmanagedIp;
-import org.jclouds.abiquo.domain.util.LinkUtils;
-import org.jclouds.abiquo.strategy.ListEntities;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ParseXMLWithJAXB;
-import org.jclouds.rest.ApiContext;
-
-import com.abiquo.model.rest.RESTLink;
-import com.abiquo.server.core.infrastructure.network.ExternalIpDto;
-import com.abiquo.server.core.infrastructure.network.PrivateIpDto;
-import com.abiquo.server.core.infrastructure.network.PublicIpDto;
-import com.abiquo.server.core.infrastructure.network.UnmanagedIpDto;
-import com.google.common.base.Function;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import com.google.inject.TypeLiteral;
-
-/**
- * List all NICs attached to a given virtual machine.
- */
-@Singleton
-public class ListAttachedNics implements ListEntities<Ip<?, ?>, VirtualMachine> {
-   protected final ApiContext<AbiquoApi> context;
-
-   @Inject
-   public ListAttachedNics(final ApiContext<AbiquoApi> context) {
-      this.context = checkNotNull(context, "context");
-   }
-
-   @Override
-   public Iterable<Ip<?, ?>> execute(final VirtualMachine parent) {
-      parent.refresh();
-      Iterable<RESTLink> nicLinks = LinkUtils.filterNicLinks(parent.unwrap().getLinks());
-      return listIps(nicLinks);
-   }
-
-   private Iterable<Ip<?, ?>> listIps(final Iterable<RESTLink> nicLinks) {
-      return transform(nicLinks, new Function<RESTLink, Ip<?, ?>>() {
-         @Override
-         public Ip<?, ?> apply(final RESTLink input) {
-            HttpResponse response = context.getApi().get(input);
-
-            if (input.getType().equals(PrivateIpDto.BASE_MEDIA_TYPE)) {
-               ParseXMLWithJAXB<PrivateIpDto> parser = new ParseXMLWithJAXB<PrivateIpDto>(context.utils().xml(),
-                     TypeLiteral.get(PrivateIpDto.class));
-
-               return wrap(context, PrivateIp.class, parser.apply(response));
-            } else if (input.getType().equals(PublicIpDto.BASE_MEDIA_TYPE)) {
-               ParseXMLWithJAXB<PublicIpDto> parser = new ParseXMLWithJAXB<PublicIpDto>(context.utils().xml(),
-                     TypeLiteral.get(PublicIpDto.class));
-
-               return wrap(context, PublicIp.class, parser.apply(response));
-            } else if (input.getType().equals(ExternalIpDto.BASE_MEDIA_TYPE)) {
-               ParseXMLWithJAXB<ExternalIpDto> parser = new ParseXMLWithJAXB<ExternalIpDto>(context.utils().xml(),
-                     TypeLiteral.get(ExternalIpDto.class));
-
-               return wrap(context, ExternalIp.class, parser.apply(response));
-            } else if (input.getType().equals(UnmanagedIpDto.BASE_MEDIA_TYPE)) {
-               ParseXMLWithJAXB<UnmanagedIpDto> parser = new ParseXMLWithJAXB<UnmanagedIpDto>(context.utils().xml(),
-                     TypeLiteral.get(UnmanagedIpDto.class));
-
-               return wrap(context, UnmanagedIp.class, parser.apply(response));
-            } else {
-               throw new IllegalArgumentException("Unsupported media type: " + input.getType());
-            }
-         }
-      });
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliances.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliances.java b/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliances.java
deleted file mode 100644
index 69faa28..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliances.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * 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.abiquo.strategy.cloud;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.util.concurrent.Futures.allAsList;
-import static com.google.common.util.concurrent.Futures.getUnchecked;
-import static org.jclouds.abiquo.domain.DomainWrapper.wrap;
-
-import java.util.List;
-import java.util.concurrent.Callable;
-
-import javax.annotation.Resource;
-import javax.inject.Named;
-
-import org.jclouds.Constants;
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.DomainWrapper;
-import org.jclouds.abiquo.domain.cloud.VirtualAppliance;
-import org.jclouds.abiquo.domain.cloud.VirtualDatacenter;
-import org.jclouds.abiquo.strategy.ListRootEntities;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.ApiContext;
-
-import com.abiquo.server.core.cloud.VirtualApplianceDto;
-import com.abiquo.server.core.cloud.VirtualAppliancesDto;
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-/**
- * List virtual appliances in each virtual datacenter.
- */
-@Singleton
-public class ListVirtualAppliances implements ListRootEntities<VirtualAppliance> {
-   protected final ApiContext<AbiquoApi> context;
-
-   protected final ListVirtualDatacenters listVirtualDatacenters;
-
-   protected final ListeningExecutorService userExecutor;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   ListVirtualAppliances(final ApiContext<AbiquoApi> context,
-         @Named(Constants.PROPERTY_USER_THREADS) final ListeningExecutorService userExecutor,
-         final ListVirtualDatacenters listVirtualDatacenters) {
-      this.context = checkNotNull(context, "context");
-      this.listVirtualDatacenters = checkNotNull(listVirtualDatacenters, "listVirtualDatacenters");
-      this.userExecutor = checkNotNull(userExecutor, "userExecutor");
-   }
-
-   @Override
-   public Iterable<VirtualAppliance> execute() {
-      return execute(userExecutor);
-   }
-
-   private Iterable<VirtualApplianceDto> listConcurrentVirtualAppliances(final ListeningExecutorService executor,
-         final Iterable<VirtualDatacenter> vdcs) {
-      ListenableFuture<List<VirtualAppliancesDto>> futures = allAsList(transform(vdcs,
-            new Function<VirtualDatacenter, ListenableFuture<VirtualAppliancesDto>>() {
-               @Override
-               public ListenableFuture<VirtualAppliancesDto> apply(final VirtualDatacenter input) {
-                  return executor.submit(new Callable<VirtualAppliancesDto>() {
-                     @Override
-                     public VirtualAppliancesDto call() throws Exception {
-                        return context.getApi().getCloudApi().listVirtualAppliances(input.unwrap());
-                     }
-                  });
-               }
-            }));
-
-      logger.trace("getting virtual appliances");
-      return DomainWrapper.join(getUnchecked(futures));
-   }
-
-   public Iterable<VirtualAppliance> execute(ListeningExecutorService executor) {
-      // / Find virtual appliances in concurrent requests
-      Iterable<VirtualDatacenter> vdcs = listVirtualDatacenters.execute(executor);
-      Iterable<VirtualApplianceDto> vapps = listConcurrentVirtualAppliances(executor, vdcs);
-
-      return wrap(context, VirtualAppliance.class, vapps);
-   }
-
-   public Iterable<VirtualAppliance> execute(ListeningExecutorService executor, Predicate<VirtualAppliance> selector) {
-      return filter(execute(executor), selector);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacenters.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacenters.java b/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacenters.java
deleted file mode 100644
index 0daa737..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacenters.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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.abiquo.strategy.cloud;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.collect.Lists.newArrayList;
-import static com.google.common.util.concurrent.Futures.allAsList;
-import static com.google.common.util.concurrent.Futures.getUnchecked;
-import static org.jclouds.abiquo.domain.DomainWrapper.wrap;
-
-import java.util.List;
-import java.util.concurrent.Callable;
-
-import javax.annotation.Resource;
-import javax.inject.Named;
-
-import org.jclouds.Constants;
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.cloud.VirtualDatacenter;
-import org.jclouds.abiquo.domain.cloud.options.VirtualDatacenterOptions;
-import org.jclouds.abiquo.strategy.ListRootEntities;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.ApiContext;
-
-import com.abiquo.server.core.cloud.VirtualDatacenterDto;
-import com.abiquo.server.core.cloud.VirtualDatacentersDto;
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-/**
- * List virtual datacenters.
- */
-@Singleton
-public class ListVirtualDatacenters implements ListRootEntities<VirtualDatacenter> {
-   protected final ApiContext<AbiquoApi> context;
-
-   protected final ListeningExecutorService userExecutor;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   ListVirtualDatacenters(final ApiContext<AbiquoApi> context,
-         @Named(Constants.PROPERTY_USER_THREADS) final ListeningExecutorService userExecutor) {
-      this.context = checkNotNull(context, "context");
-      this.userExecutor = checkNotNull(userExecutor, "userExecutor");
-   }
-
-   @Override
-   public Iterable<VirtualDatacenter> execute() {
-      return execute(userExecutor);
-   }
-
-   public Iterable<VirtualDatacenter> execute(final VirtualDatacenterOptions virtualDatacenterOptions) {
-      VirtualDatacentersDto result = context.getApi().getCloudApi().listVirtualDatacenters(virtualDatacenterOptions);
-      return wrap(context, VirtualDatacenter.class, result.getCollection());
-   }
-
-   public Iterable<VirtualDatacenter> execute(final Predicate<VirtualDatacenter> selector,
-         final VirtualDatacenterOptions virtualDatacenterOptions) {
-      return filter(execute(virtualDatacenterOptions), selector);
-   }
-
-   public Iterable<VirtualDatacenter> execute(final List<Integer> virtualDatacenterIds) {
-      return execute(userExecutor, virtualDatacenterIds);
-   }
-
-   public Iterable<VirtualDatacenter> execute(ListeningExecutorService executor,
-         final List<Integer> virtualDatacenterIds) {
-      return listConcurrentVirtualDatacenters(executor, virtualDatacenterIds);
-   }
-
-   private Iterable<VirtualDatacenter> listConcurrentVirtualDatacenters(final ListeningExecutorService executor,
-         final List<Integer> ids) {
-      ListenableFuture<List<VirtualDatacenterDto>> futures = allAsList(transform(ids,
-            new Function<Integer, ListenableFuture<VirtualDatacenterDto>>() {
-               @Override
-               public ListenableFuture<VirtualDatacenterDto> apply(final Integer input) {
-                  return executor.submit(new Callable<VirtualDatacenterDto>() {
-                     @Override
-                     public VirtualDatacenterDto call() throws Exception {
-                        return context.getApi().getCloudApi().getVirtualDatacenter(input);
-                     }
-                  });
-
-               }
-            }));
-
-      logger.trace("getting virtual datacenters");
-      return wrap(context, VirtualDatacenter.class, newArrayList(getUnchecked(futures)));
-   }
-
-   public Iterable<VirtualDatacenter> execute(ListeningExecutorService executor) {
-      VirtualDatacenterOptions virtualDatacenterOptions = VirtualDatacenterOptions.builder().build();
-      return execute(virtualDatacenterOptions);
-   }
-
-   public Iterable<VirtualDatacenter> execute(ListeningExecutorService executor, Predicate<VirtualDatacenter> selector) {
-      return filter(execute(executor), selector);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplates.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplates.java b/abiquo/src/main/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplates.java
deleted file mode 100644
index 01a0a11..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplates.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * 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.abiquo.strategy.enterprise;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.concat;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.util.concurrent.Futures.allAsList;
-import static com.google.common.util.concurrent.Futures.getUnchecked;
-import static org.jclouds.abiquo.domain.DomainWrapper.wrap;
-
-import java.util.List;
-import java.util.concurrent.Callable;
-
-import javax.annotation.Resource;
-import javax.inject.Named;
-
-import org.jclouds.Constants;
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.cloud.VirtualMachineTemplate;
-import org.jclouds.abiquo.domain.enterprise.Enterprise;
-import org.jclouds.abiquo.domain.infrastructure.Datacenter;
-import org.jclouds.abiquo.strategy.ListEntities;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.ApiContext;
-
-import com.abiquo.server.core.appslibrary.VirtualMachineTemplateDto;
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-/**
- * List all virtual machine templates available to an enterprise.
- */
-@Singleton
-public class ListVirtualMachineTemplates implements ListEntities<VirtualMachineTemplate, Enterprise> {
-   protected final ApiContext<AbiquoApi> context;
-
-   protected final ListeningExecutorService userExecutor;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   ListVirtualMachineTemplates(final ApiContext<AbiquoApi> context,
-         @Named(Constants.PROPERTY_USER_THREADS) final ListeningExecutorService userExecutor) {
-      super();
-      this.context = checkNotNull(context, "context");
-      this.userExecutor = checkNotNull(userExecutor, "userExecutor");
-   }
-
-   @Override
-   public Iterable<VirtualMachineTemplate> execute(final Enterprise parent) {
-      return execute(userExecutor, parent);
-   }
-
-   public Iterable<VirtualMachineTemplate> execute(ListeningExecutorService executor, final Enterprise parent) {
-      // Find virtual machine templates in concurrent requests
-      Iterable<Datacenter> dcs = parent.listAllowedDatacenters();
-      Iterable<VirtualMachineTemplateDto> templates = listConcurrentTemplates(executor, parent, dcs);
-
-      return wrap(context, VirtualMachineTemplate.class, templates);
-   }
-
-   public Iterable<VirtualMachineTemplate> execute(ListeningExecutorService executor, final Enterprise parent,
-         final Predicate<VirtualMachineTemplate> selector) {
-      return filter(execute(executor, parent), selector);
-   }
-
-   private Iterable<VirtualMachineTemplateDto> listConcurrentTemplates(final ListeningExecutorService executor,
-         final Enterprise parent, final Iterable<Datacenter> dcs) {
-      ListenableFuture<List<Iterable<VirtualMachineTemplateDto>>> futures = allAsList(transform(dcs,
-            new Function<Datacenter, ListenableFuture<Iterable<VirtualMachineTemplateDto>>>() {
-               @Override
-               public ListenableFuture<Iterable<VirtualMachineTemplateDto>> apply(final Datacenter input) {
-                  return executor.submit(new Callable<Iterable<VirtualMachineTemplateDto>>() {
-                     @Override
-                     public Iterable<VirtualMachineTemplateDto> call() throws Exception {
-                        PagedIterable<VirtualMachineTemplateDto> templates = context.getApi()
-                              .getVirtualMachineTemplateApi()
-                              .listVirtualMachineTemplates(parent.getId(), input.getId());
-                        return templates.concat();
-                     }
-                  });
-               }
-            }));
-
-      logger.trace("getting virtual machine templates");
-      return concat(getUnchecked(futures));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/strategy/infrastructure/ListMachines.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/strategy/infrastructure/ListMachines.java b/abiquo/src/main/java/org/jclouds/abiquo/strategy/infrastructure/ListMachines.java
deleted file mode 100644
index 3403fda..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/strategy/infrastructure/ListMachines.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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.abiquo.strategy.infrastructure;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.util.concurrent.Futures.allAsList;
-import static com.google.common.util.concurrent.Futures.getUnchecked;
-import static org.jclouds.abiquo.domain.DomainWrapper.wrap;
-
-import java.util.List;
-import java.util.concurrent.Callable;
-
-import javax.annotation.Resource;
-import javax.inject.Named;
-
-import org.jclouds.Constants;
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.DomainWrapper;
-import org.jclouds.abiquo.domain.infrastructure.Datacenter;
-import org.jclouds.abiquo.domain.infrastructure.Machine;
-import org.jclouds.abiquo.strategy.ListRootEntities;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.ApiContext;
-
-import com.abiquo.server.core.infrastructure.DatacentersDto;
-import com.abiquo.server.core.infrastructure.MachineDto;
-import com.abiquo.server.core.infrastructure.MachinesDto;
-import com.abiquo.server.core.infrastructure.RackDto;
-import com.abiquo.server.core.infrastructure.RacksDto;
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-/**
- * List machines in each datacenter and rack.
- */
-@Singleton
-public class ListMachines implements ListRootEntities<Machine> {
-   protected ApiContext<AbiquoApi> context;
-
-   protected final ListeningExecutorService userExecutor;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   ListMachines(final ApiContext<AbiquoApi> context,
-         @Named(Constants.PROPERTY_USER_THREADS) final ListeningExecutorService userExecutor) {
-      super();
-      this.context = checkNotNull(context, "context");
-      this.userExecutor = checkNotNull(userExecutor, "userExecutor");
-   }
-
-   @Override
-   public Iterable<Machine> execute() {
-      return execute(userExecutor);
-   }
-
-   public Iterable<Machine> execute(ListeningExecutorService executor) {
-      // Find machines in concurrent requests
-      DatacentersDto result = context.getApi().getInfrastructureApi().listDatacenters();
-      Iterable<Datacenter> datacenters = wrap(context, Datacenter.class, result.getCollection());
-      Iterable<RackDto> racks = listConcurrentRacks(executor, datacenters);
-      Iterable<MachineDto> machines = listConcurrentMachines(executor, racks);
-
-      return wrap(context, Machine.class, machines);
-   }
-
-   public Iterable<Machine> execute(ListeningExecutorService executor, final Predicate<Machine> selector) {
-      return filter(execute(executor), selector);
-   }
-
-   private Iterable<RackDto> listConcurrentRacks(final ListeningExecutorService executor,
-         final Iterable<Datacenter> datacenters) {
-      ListenableFuture<List<RacksDto>> futures = allAsList(transform(datacenters,
-            new Function<Datacenter, ListenableFuture<RacksDto>>() {
-               @Override
-               public ListenableFuture<RacksDto> apply(final Datacenter input) {
-                  return executor.submit(new Callable<RacksDto>() {
-                     @Override
-                     public RacksDto call() throws Exception {
-                        return context.getApi().getInfrastructureApi().listRacks(input.unwrap());
-                     }
-                  });
-               }
-            }));
-
-      logger.trace("getting racks");
-      return DomainWrapper.join(getUnchecked(futures));
-   }
-
-   private Iterable<MachineDto> listConcurrentMachines(final ListeningExecutorService executor,
-         final Iterable<RackDto> racks) {
-      ListenableFuture<List<MachinesDto>> futures = allAsList(transform(racks,
-            new Function<RackDto, ListenableFuture<MachinesDto>>() {
-               @Override
-               public ListenableFuture<MachinesDto> apply(final RackDto input) {
-                  return executor.submit(new Callable<MachinesDto>() {
-                     @Override
-                     public MachinesDto call() throws Exception {
-                        return context.getApi().getInfrastructureApi().listMachines(input);
-                     }
-                  });
-               }
-            }));
-
-      logger.trace("getting machines");
-      return DomainWrapper.join(getUnchecked(futures));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
----------------------------------------------------------------------
diff --git a/abiquo/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata b/abiquo/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
deleted file mode 100644
index 642f443..0000000
--- a/abiquo/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.abiquo.AbiquoApiMetadata
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiMetadataTest.java b/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiMetadataTest.java
index 6a7935f..936c13f 100644
--- a/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiMetadataTest.java
+++ b/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiMetadataTest.java
@@ -20,19 +20,25 @@ import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
+import org.jclouds.View;
 import org.jclouds.apis.ApiMetadata;
 import org.jclouds.apis.Apis;
-import org.jclouds.compute.internal.BaseComputeServiceApiMetadataTest;
+import org.jclouds.apis.internal.BaseApiMetadataTest;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.ImmutableSet;
+import com.google.common.reflect.TypeToken;
+
 /**
  * Unit tests for the {@link AbiquoApiMetadata} class.
  */
 @Test(groups = "unit", testName = "AbiquoApiMetadataTest")
-public class AbiquoApiMetadataTest extends BaseComputeServiceApiMetadataTest {
+// TODO: Change inheritance to BaseComputeApiMetadataTest once the
+// ComputeService abstraction is implemented
+public class AbiquoApiMetadataTest extends BaseApiMetadataTest {
 
    public AbiquoApiMetadataTest() {
-      super(new AbiquoApiMetadata());
+      super(new AbiquoApiMetadata(), ImmutableSet.<TypeToken<? extends View>> of());
    }
 
    public void testAbiquoApiRegistered() {

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiTest.java b/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiTest.java
deleted file mode 100644
index 212daba..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/AbiquoApiTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.abiquo;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.abiquo.features.BaseAbiquoApiTest;
-import org.jclouds.functions.IdentityFunction;
-import org.jclouds.reflect.Invocation;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.rest.RESTLink;
-import com.abiquo.server.core.infrastructure.DatacentersDto;
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-
-/**
- * Tests annotation parsing of {@code AbiquoApi}.
- */
-@Test(groups = "unit", testName = "AbiquoApiTest")
-public class AbiquoApiTest extends BaseAbiquoApiTest<AbiquoApi> {
-   public void testGet() throws SecurityException, NoSuchMethodException, IOException {
-      RESTLink link = new RESTLink("edit", "http://foo/bar");
-      link.setType(DatacentersDto.BASE_MEDIA_TYPE);
-
-      Invokable<?, ?> method = method(AbiquoApi.class, "get", RESTLink.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, ImmutableList.<Object> of(link)));
-
-      assertRequestLineEquals(request, "GET http://foo/bar HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + DatacentersDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, IdentityFunction.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/AbiquoDelegateApiTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/AbiquoDelegateApiTest.java b/abiquo/src/test/java/org/jclouds/abiquo/AbiquoDelegateApiTest.java
deleted file mode 100644
index 223393c..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/AbiquoDelegateApiTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.abiquo;
-
-import static org.testng.Assert.assertNotNull;
-
-import java.io.IOException;
-import java.util.concurrent.ExecutionException;
-
-import org.jclouds.abiquo.features.BaseAbiquoApiTest;
-import org.jclouds.http.HttpRequest;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * Tests asynchronous and synchronous API delegates.
- */
-@Test(groups = "unit", testName = "AbiquoDelegateApiTest")
-public class AbiquoDelegateApiTest extends BaseAbiquoApiTest<AbiquoApi> {
-
-   private AbiquoApi syncApi;
-
-   @BeforeClass
-   @Override
-   protected void setupFactory() throws IOException {
-      super.setupFactory();
-      syncApi = injector.getInstance(AbiquoApi.class);
-   }
-
-   public void testSync() throws SecurityException, NoSuchMethodException, InterruptedException, ExecutionException {
-      assertNotNull(syncApi.getAdminApi());
-      assertNotNull(syncApi.getConfigApi());
-      assertNotNull(syncApi.getInfrastructureApi());
-      assertNotNull(syncApi.getEnterpriseApi());
-      assertNotNull(syncApi.getCloudApi());
-      assertNotNull(syncApi.getVirtualMachineTemplateApi());
-      assertNotNull(syncApi.getTaskApi());
-   }
-
-   @Override
-   protected void checkFilters(final HttpRequest request) {
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/AppendToPathTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/AppendToPathTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/AppendToPathTest.java
deleted file mode 100644
index dabbe55..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/AppendToPathTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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.abiquo.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import org.jclouds.http.HttpRequest;
-import org.testng.annotations.Test;
-
-/**
- * Unit tests for the {@link AppendToPath} binder.
- */
-@Test(groups = "unit", testName = "AppendToPathTest")
-public class AppendToPathTest {
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      AppendToPath binder = new AppendToPath();
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, null);
-   }
-
-   public void testBindString() {
-      AppendToPath binder = new AppendToPath();
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      HttpRequest newRequest = binder.bindToRequest(request, "expanded/path");
-      assertEquals(newRequest.getRequestLine(), "GET http://localhost/expanded/path HTTP/1.1");
-   }
-
-   public void testBindNumber() {
-      AppendToPath binder = new AppendToPath();
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      HttpRequest newRequest = binder.bindToRequest(request, 57);
-      assertEquals(newRequest.getRequestLine(), "GET http://localhost/57 HTTP/1.1");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathAndAcceptHeaderTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathAndAcceptHeaderTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathAndAcceptHeaderTest.java
deleted file mode 100644
index 7ea6322..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathAndAcceptHeaderTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.abiquo.binders;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.net.URI;
-
-import org.jclouds.http.HttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.net.HttpHeaders;
-
-/**
- * Unit tests for the {@link BindLinkToPathAndAcceptHeader} class.
- */
-@Test(groups = "unit", testName = "BindLinkToPathAndAcceptHeaderTest")
-public class BindLinkToPathAndAcceptHeaderTest {
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      BindLinkToPathAndAcceptHeader binder = new BindLinkToPathAndAcceptHeader();
-      binder.addHeader(null, HttpHeaders.ACCEPT, null);
-   }
-
-   public void testAddHeader() {
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-
-      BindLinkToPathAndAcceptHeader binder = new BindLinkToPathAndAcceptHeader();
-      HttpRequest updatedRequest = binder.addHeader(request, HttpHeaders.ACCEPT,
-            "application/vnd.abiquo.datacenters+xml");
-
-      String accept = updatedRequest.getFirstHeaderOrNull(HttpHeaders.ACCEPT);
-
-      assertNotNull(accept);
-      assertEquals(accept, "application/vnd.abiquo.datacenters+xml");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathTest.java
deleted file mode 100644
index bd2215c..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/BindLinkToPathTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.abiquo.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import org.testng.annotations.Test;
-
-import com.abiquo.model.rest.RESTLink;
-
-/**
- * Unit tests for the {@link BindLinkToPath} class.
- */
-@Test(groups = "unit", testName = "BindLinkToPathTest")
-public class BindLinkToPathTest {
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testGetNewEnpointNullInput() {
-      BindLinkToPath binder = new BindLinkToPath();
-      binder.getNewEndpoint(null, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testGetNewEnpointInvalidInput() {
-      BindLinkToPath binder = new BindLinkToPath();
-      binder.getNewEndpoint(null, new Object());
-   }
-
-   public void testGetNewEnpoint() {
-      BindLinkToPath binder = new BindLinkToPath();
-      assertEquals(binder.getNewEndpoint(null, new RESTLink("edit", "http://foo/bar")), "http://foo/bar");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/BindToPathTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/BindToPathTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/BindToPathTest.java
deleted file mode 100644
index 72db6ba..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/BindToPathTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * 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.abiquo.binders;
-
-import static org.jclouds.reflect.Reflection2.method;
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.abiquo.rest.annotations.EndpointLink;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.reflect.Invocation;
-import org.jclouds.rest.binders.BindException;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.rest.RESTLink;
-import com.abiquo.model.transport.SingleResourceTransportDto;
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-
-/**
- * Unit tests for the {@link BindToPath} binder.
- */
-@Test(groups = "unit", testName = "BindToPathTest")
-public class BindToPathTest {
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullRequest() throws SecurityException, NoSuchMethodException {
-      BindToPath binder = new BindToPath();
-      binder.bindToRequest(null, new Object());
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidRequestType() throws SecurityException, NoSuchMethodException {
-      BindToPath binder = new BindToPath();
-      binder.bindToRequest(HttpRequest.builder().method("m").endpoint("http://localhost").build(), new Object());
-   }
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() throws SecurityException, NoSuchMethodException {
-      Invokable<?, ?> withEndpointLink = method(TestEndpointLink.class, "withEndpointLink", TestDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(withEndpointLink, ImmutableList.<Object> of(new TestDto())))
-            .method(HttpMethod.GET).endpoint(URI.create("http://localhost")).build();
-
-      BindToPath binder = new BindToPath();
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidInputType() throws SecurityException, NoSuchMethodException {
-      Invokable<?, ?> withEndpointLink = method(TestEndpointLink.class, "withEndpointLink", TestDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(withEndpointLink, ImmutableList.<Object> of(new TestDto())))
-            .method(HttpMethod.GET).endpoint(URI.create("http://localhost")).build();
-
-      BindToPath binder = new BindToPath();
-      binder.bindToRequest(request, new Object());
-   }
-
-   @Test(expectedExceptions = BindException.class)
-   public void testAnnotationNotPresent() throws SecurityException, NoSuchMethodException {
-      TestDto dto = new TestDto();
-      Invokable<?, ?> withoutEndpointLink = method(TestEndpointLink.class, "withoutEndpointLink", TestDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(withoutEndpointLink, ImmutableList.<Object> of(dto))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost")).build();
-
-      BindToPath binder = new BindToPath();
-      binder.bindToRequest(request, dto);
-   }
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testLinkNotPresent() throws SecurityException, NoSuchMethodException {
-      TestDto dto = new TestDto();
-      Invokable<?, ?> withUnexistingLink = method(TestEndpointLink.class, "withUnexistingLink", TestDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(withUnexistingLink, ImmutableList.<Object> of(dto))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost")).build();
-
-      BindToPath binder = new BindToPath();
-      binder.bindToRequest(request, dto);
-   }
-
-   public void testBindWithoutParameters() throws SecurityException, NoSuchMethodException {
-      TestDto dto = new TestDto();
-      Invokable<?, ?> withEndpointLink = method(TestEndpointLink.class, "withEndpointLink", TestDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(withEndpointLink, ImmutableList.<Object> of(dto))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost")).build();
-
-      BindToPath binder = new BindToPath();
-      GeneratedHttpRequest newRequest = binder.bindToRequest(request, dto);
-      assertEquals(newRequest.getRequestLine(), "GET http://linkuri HTTP/1.1");
-   }
-
-   public void testBindWithQueryParameters() throws SecurityException, NoSuchMethodException {
-      TestDto dto = new TestDto();
-      Invokable<?, ?> withEndpointLink = method(TestEndpointLink.class, "withEndpointLink", TestDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(withEndpointLink, ImmutableList.<Object> of(dto))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost?param=value")).build();
-
-      BindToPath binder = new BindToPath();
-      GeneratedHttpRequest newRequest = binder.bindToRequest(request, dto);
-      assertEquals(newRequest.getRequestLine(), "GET http://linkuri?param=value HTTP/1.1");
-   }
-
-   interface TestEndpointLink {
-      @GET
-      void withEndpointLink(@EndpointLink("edit") TestDto dto);
-
-      @GET
-      void withUnexistingLink(@EndpointLink("unexisting") TestDto dto);
-
-      @GET
-      void withoutEndpointLink(TestDto dto);
-   }
-
-   static class TestDto extends SingleResourceTransportDto {
-
-      private static final long serialVersionUID = 5381713583837345158L;
-
-      public TestDto() {
-         addLink(new RESTLink("edit", "http://linkuri"));
-      }
-
-      @Override
-      public String getMediaType() {
-         return MediaType.APPLICATION_XML;
-      }
-
-      @Override
-      public String getBaseMediaType() {
-         return MediaType.APPLICATION_XML;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindHardDiskRefsToPayloadTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindHardDiskRefsToPayloadTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindHardDiskRefsToPayloadTest.java
deleted file mode 100644
index d93f78e..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindHardDiskRefsToPayloadTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.abiquo.util.Assert.assertPayloadEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.abiquo.domain.CloudResources;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.xml.internal.JAXBParser;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.transport.LinksDto;
-import com.abiquo.server.core.infrastructure.storage.DiskManagementDto;
-
-/**
- * Unit tests for the {@link BindHardDiskRefsToPayload} binder.
- */
-@Test(groups = "unit", testName = "BindHardDiskRefsToPayloadTest")
-public class BindHardDiskRefsToPayloadTest {
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      BindHardDiskRefsToPayload binder = new BindHardDiskRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidTypeInput() {
-      BindHardDiskRefsToPayload binder = new BindHardDiskRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, new Object());
-   }
-
-   public void testBindEmptyArray() throws IOException {
-      BindHardDiskRefsToPayload binder = new BindHardDiskRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, new DiskManagementDto[] {});
-      assertPayloadEquals(request.getPayload(), withHeader("<links/>"), LinksDto.class);
-   }
-
-   public void testBindSingleHardDisk() throws IOException {
-      DiskManagementDto hardDisk = CloudResources.hardDiskPut();
-      BindHardDiskRefsToPayload binder = new BindHardDiskRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, new DiskManagementDto[] { hardDisk });
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + hardDisk.getEditLink().getHref()
-            + "\" rel=\"" + binder.getRelToUse(hardDisk) + "\"/></links>"), LinksDto.class);
-   }
-
-   public void testBindMultipleHardDisks() throws IOException {
-      DiskManagementDto hardDisk = CloudResources.hardDiskPut();
-      BindHardDiskRefsToPayload binder = new BindHardDiskRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, new DiskManagementDto[] { hardDisk, hardDisk });
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + hardDisk.getEditLink().getHref()
-            + "\" rel=\"" + binder.getRelToUse(hardDisk) + "\"/></links>"), LinksDto.class);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefToPayloadTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefToPayloadTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefToPayloadTest.java
deleted file mode 100644
index c75405d..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefToPayloadTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.abiquo.util.Assert.assertPayloadEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.abiquo.domain.NetworkResources;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.xml.internal.JAXBParser;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.rest.RESTLink;
-import com.abiquo.model.transport.LinksDto;
-import com.abiquo.server.core.infrastructure.network.PrivateIpDto;
-
-/**
- * Unit tests for the {@link BindIpRefToPayload} binder.
- */
-@Test(groups = "unit", testName = "BindIpRefToPayloadTest")
-public class BindIpRefToPayloadTest {
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      BindIpRefToPayload binder = new BindIpRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidTypeInput() {
-      BindIpRefToPayload binder = new BindIpRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, new Object());
-   }
-
-   public void testBindIpRef() throws IOException {
-      PrivateIpDto ip = NetworkResources.privateIpPut();
-      RESTLink selfLink = ip.searchLink("self");
-      BindIpRefToPayload binder = new BindIpRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, ip);
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + selfLink.getHref() + "\" rel=\""
-            + selfLink.getTitle() + "\"/></links>"), LinksDto.class);
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefsToPayloadTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefsToPayloadTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefsToPayloadTest.java
deleted file mode 100644
index 4034366..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindIpRefsToPayloadTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.abiquo.util.Assert.assertPayloadEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.abiquo.domain.NetworkResources;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.xml.internal.JAXBParser;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.transport.LinksDto;
-import com.abiquo.server.core.infrastructure.network.AbstractIpDto;
-import com.abiquo.server.core.infrastructure.network.PrivateIpDto;
-
-/**
- * Unit tests for the {@link BindIpRefsToPayload} binder.
- */
-@Test(groups = "unit", testName = "BindIpRefsToPayloadTest")
-public class BindIpRefsToPayloadTest {
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      BindIpRefsToPayload binder = new BindIpRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidTypeInput() {
-      BindIpRefsToPayload binder = new BindIpRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, new Object());
-   }
-
-   public void testBindEmptyArray() throws IOException {
-      BindIpRefsToPayload binder = new BindIpRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, new AbstractIpDto[] {});
-      assertPayloadEquals(request.getPayload(), withHeader("<links/>"), LinksDto.class);
-   }
-
-   public void testBindSingleIp() throws IOException {
-      PrivateIpDto ip = NetworkResources.privateIpPut();
-      BindIpRefsToPayload binder = new BindIpRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, new AbstractIpDto[] { ip });
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + ip.searchLink("self").getHref()
-            + "\" rel=\"" + ip.searchLink("self").getTitle() + "\"/></links>"), LinksDto.class);
-   }
-
-   public void testBindMultipleIps() throws IOException {
-      PrivateIpDto ip = NetworkResources.privateIpPut();
-      BindIpRefsToPayload binder = new BindIpRefsToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, new AbstractIpDto[] { ip, ip });
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + ip.searchLink("self").getHref()
-            + "\" rel=\"" + ip.searchLink("self").getTitle() + "\"/></links>"), LinksDto.class);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindMoveVolumeToPathTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindMoveVolumeToPathTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindMoveVolumeToPathTest.java
deleted file mode 100644
index 1cf4f08..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindMoveVolumeToPathTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.reflect.Reflection2.method;
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import javax.ws.rs.HttpMethod;
-
-import org.jclouds.abiquo.domain.CloudResources;
-import org.jclouds.abiquo.features.CloudApi;
-import org.jclouds.reflect.Invocation;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.abiquo.server.core.cloud.VirtualDatacenterDto;
-import com.abiquo.server.core.infrastructure.storage.VolumeManagementDto;
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-
-/**
- * Unit tests for the {@link BindMoveVolumeToPath} binder.
- */
-@Test(groups = "unit", testName = "BindMoveVolumeToPathTest")
-public class BindMoveVolumeToPathTest {
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() throws SecurityException, NoSuchMethodException {
-      BindMoveVolumeToPath binder = new BindMoveVolumeToPath();
-      binder.getNewEndpoint(generatedHttpRequest(), null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidInputType() throws SecurityException, NoSuchMethodException {
-      BindMoveVolumeToPath binder = new BindMoveVolumeToPath();
-      binder.getNewEndpoint(generatedHttpRequest(), new Object());
-   }
-
-   public void testGetNewEndpoint() throws SecurityException, NoSuchMethodException {
-      BindMoveVolumeToPath binder = new BindMoveVolumeToPath();
-      String newEndpoint = binder.getNewEndpoint(generatedHttpRequest(), CloudResources.volumePut());
-      assertEquals(newEndpoint, "http://localhost/api/cloud/virtualdatacenters/1/volumes/1/action/move");
-   }
-
-   private static GeneratedHttpRequest generatedHttpRequest() throws SecurityException, NoSuchMethodException {
-      Invokable<?, ?> withEndpointLink = method(CloudApi.class, "moveVolume", VolumeManagementDto.class,
-            VirtualDatacenterDto.class);
-      return GeneratedHttpRequest
-            .builder()
-            .invocation(
-                  Invocation.create(withEndpointLink,
-                        ImmutableList.<Object> of(CloudResources.volumePut(), CloudResources.virtualDatacenterPut())))
-            .method(HttpMethod.POST).endpoint(URI.create("http://localhost")).build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkConfigurationRefToPayloadTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkConfigurationRefToPayloadTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkConfigurationRefToPayloadTest.java
deleted file mode 100644
index d88eb57..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkConfigurationRefToPayloadTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.abiquo.util.Assert.assertPayloadEquals;
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.NoSuchElementException;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.HttpMethod;
-
-import org.jclouds.abiquo.domain.CloudResources;
-import org.jclouds.abiquo.domain.NetworkResources;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.reflect.Invocation;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.xml.internal.JAXBParser;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.transport.LinksDto;
-import com.abiquo.server.core.cloud.VirtualMachineDto;
-import com.abiquo.server.core.infrastructure.network.VLANNetworkDto;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.reflect.Invokable;
-
-/**
- * Unit tests for the {@link BindNetworkConfigurationRefToPayload} binder.
- */
-@Test(groups = "unit", testName = "BindNetworkConfigurationRefToPayloadTest")
-public class BindNetworkConfigurationRefToPayloadTest {
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullRequest() throws SecurityException, NoSuchMethodException {
-      BindNetworkConfigurationRefToPayload binder = new BindNetworkConfigurationRefToPayload(new JAXBParser("false"));
-      binder.bindToRequest(null, new Object());
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidRequestType() throws SecurityException, NoSuchMethodException {
-      BindNetworkConfigurationRefToPayload binder = new BindNetworkConfigurationRefToPayload(new JAXBParser("false"));
-
-      binder.bindToRequest(HttpRequest.builder().method("m").endpoint("http://localhost").build(), new Object());
-   }
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() throws SecurityException, NoSuchMethodException {
-      VirtualMachineDto vm = CloudResources.virtualMachinePut();
-
-      Invokable<?, ?> method = method(TestNetworkConfig.class, "withAll", VirtualMachineDto.class, VLANNetworkDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(method, Lists.<Object> newArrayList(vm, null))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost")).build();
-
-      BindNetworkConfigurationRefToPayload binder = new BindNetworkConfigurationRefToPayload(new JAXBParser("false"));
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidTypeInput() throws SecurityException, NoSuchMethodException {
-      VirtualMachineDto vm = CloudResources.virtualMachinePut();
-      Object network = new Object();
-
-      Invokable<?, ?> method = method(TestNetworkConfig.class, "withAll", VirtualMachineDto.class, VLANNetworkDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(method, ImmutableList.<Object> of(vm, network))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost")).build();
-
-      BindNetworkConfigurationRefToPayload binder = new BindNetworkConfigurationRefToPayload(new JAXBParser("false"));
-      binder.bindToRequest(request, network);
-   }
-
-   @Test(expectedExceptions = NoSuchElementException.class)
-   public void testBindNetworkConfigurationRefWithoutVirtualMachine() throws SecurityException, NoSuchMethodException {
-      VLANNetworkDto network = NetworkResources.privateNetworkPut();
-
-      Invokable<?, ?> method = method(TestNetworkConfig.class, "withoutVirtualMachine", VLANNetworkDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(method, ImmutableList.<Object> of(network))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost")).build();
-
-      BindNetworkConfigurationRefToPayload binder = new BindNetworkConfigurationRefToPayload(new JAXBParser("false"));
-      binder.bindToRequest(request, network);
-   }
-
-   public void testBindNetworkConfigurationRef() throws SecurityException, NoSuchMethodException, IOException {
-      VirtualMachineDto vm = CloudResources.virtualMachinePut();
-      VLANNetworkDto network = NetworkResources.privateNetworkPut();
-
-      Invokable<?, ?> method = method(TestNetworkConfig.class, "withAll", VirtualMachineDto.class, VLANNetworkDto.class);
-      GeneratedHttpRequest request = GeneratedHttpRequest.builder()
-            .invocation(Invocation.create(method, ImmutableList.<Object> of(vm, network))).method(HttpMethod.GET)
-            .endpoint(URI.create("http://localhost")).build();
-
-      BindNetworkConfigurationRefToPayload binder = new BindNetworkConfigurationRefToPayload(new JAXBParser("false"));
-
-      String configLink = vm.searchLink("configurations").getHref() + "/" + network.getId();
-
-      GeneratedHttpRequest newRequest = binder.bindToRequest(request, network);
-      assertPayloadEquals(newRequest.getPayload(), withHeader("<links><link href=\"" + configLink
-            + "\" rel=\"network_configuration\"/></links>"), LinksDto.class);
-   }
-
-   interface TestNetworkConfig {
-      @GET
-      void withoutVirtualMachine(VLANNetworkDto network);
-
-      @GET
-      void withAll(VirtualMachineDto virtualMachine, VLANNetworkDto network);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkRefToPayloadTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkRefToPayloadTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkRefToPayloadTest.java
deleted file mode 100644
index 26ee2ee..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindNetworkRefToPayloadTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.abiquo.util.Assert.assertPayloadEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.abiquo.domain.NetworkResources;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.xml.internal.JAXBParser;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.transport.LinksDto;
-import com.abiquo.server.core.infrastructure.network.VLANNetworkDto;
-
-/**
- * Unit tests for the {@link BindNetworkRefToPayload} binder.
- */
-@Test(groups = "unit", testName = "BindNetworkRefToPayloadTest")
-public class BindNetworkRefToPayloadTest {
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      BindNetworkRefToPayload binder = new BindNetworkRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidTypeInput() {
-      BindNetworkRefToPayload binder = new BindNetworkRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, new Object());
-   }
-
-   public void testBindNetworkRef() throws IOException {
-      VLANNetworkDto network = NetworkResources.privateNetworkPut();
-      BindNetworkRefToPayload binder = new BindNetworkRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, network);
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + network.getEditLink().getHref()
-            + "\" rel=\"internalnetwork\"/></links>"), LinksDto.class);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindUnmanagedIpRefToPayloadTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindUnmanagedIpRefToPayloadTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindUnmanagedIpRefToPayloadTest.java
deleted file mode 100644
index eefb8fb..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindUnmanagedIpRefToPayloadTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.abiquo.util.Assert.assertPayloadEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.abiquo.domain.NetworkResources;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.xml.internal.JAXBParser;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.rest.RESTLink;
-import com.abiquo.model.transport.LinksDto;
-import com.abiquo.server.core.infrastructure.network.VLANNetworkDto;
-
-/**
- * Unit tests for the {@link BindUnmanagedIpRefToPayload} binder.
- */
-@Test(groups = "unit", testName = "BindUnmanagedIpRefToPayloadTest")
-public class BindUnmanagedIpRefToPayloadTest {
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      BindUnmanagedIpRefToPayload binder = new BindUnmanagedIpRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidTypeInput() {
-      BindUnmanagedIpRefToPayload binder = new BindUnmanagedIpRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, new Object());
-   }
-
-   public void testBindUnmanagedNetworkIpRef() throws IOException {
-      VLANNetworkDto network = NetworkResources.unmanagedNetworkPut();
-      RESTLink ipsLink = network.searchLink("ips");
-      BindUnmanagedIpRefToPayload binder = new BindUnmanagedIpRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, network);
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + ipsLink.getHref()
-            + "\" rel=\"unmanagedip\"/></links>"), LinksDto.class);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindVirtualDatacenterRefToPayloadTest.java
----------------------------------------------------------------------
diff --git a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindVirtualDatacenterRefToPayloadTest.java b/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindVirtualDatacenterRefToPayloadTest.java
deleted file mode 100644
index 51a4497..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/binders/cloud/BindVirtualDatacenterRefToPayloadTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.abiquo.binders.cloud;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.abiquo.util.Assert.assertPayloadEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.abiquo.domain.CloudResources;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.xml.internal.JAXBParser;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.transport.LinksDto;
-import com.abiquo.server.core.cloud.VirtualDatacenterDto;
-
-/**
- * Unit tests for the {@link BindVirtualDatacenterRefToPayload} binder.
- */
-@Test(groups = "unit", testName = "BindVirtualDatacenterRefToPayloadTest")
-public class BindVirtualDatacenterRefToPayloadTest {
-
-   @Test(expectedExceptions = NullPointerException.class)
-   public void testInvalidNullInput() {
-      BindVirtualDatacenterRefToPayload binder = new BindVirtualDatacenterRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, null);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testInvalidTypeInput() {
-      BindVirtualDatacenterRefToPayload binder = new BindVirtualDatacenterRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      binder.bindToRequest(request, new Object());
-   }
-
-   public void testBindSingleVolume() throws IOException {
-      VirtualDatacenterDto vdc = CloudResources.virtualDatacenterPut();
-      BindVirtualDatacenterRefToPayload binder = new BindVirtualDatacenterRefToPayload(new JAXBParser("false"));
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost")).build();
-      request = binder.bindToRequest(request, vdc);
-      assertPayloadEquals(request.getPayload(), withHeader("<links><link href=\"" + vdc.getEditLink().getHref()
-            + "\" rel=\"virtualdatacenter\"/></links>"), LinksDto.class);
-   }
-}