From 6b7f3f1fdd7489263c5fbe0275cb40b55363ba5c Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Mon, 5 Mar 2012 23:03:44 +0000 Subject: [PATCH] VCloud Director 1.5: Switching to URI params rather than using the references --- .../v1_5/features/CatalogAsyncClient.java | 17 +- .../director/v1_5/features/CatalogClient.java | 16 +- .../v1_5/features/MediaAsyncClient.java | 21 ++- .../director/v1_5/features/MediaClient.java | 10 +- .../v1_5/features/MetadataAsyncClient.java | 23 ++- .../v1_5/features/MetadataClient.java | 12 +- .../v1_5/features/NetworkAsyncClient.java | 8 +- .../director/v1_5/features/NetworkClient.java | 4 +- .../v1_5/features/OrgAsyncClient.java | 9 +- .../director/v1_5/features/OrgClient.java | 4 +- .../v1_5/features/TaskAsyncClient.java | 7 +- .../director/v1_5/features/TaskClient.java | 10 +- .../v1_5/features/UploadAsyncClient.java | 10 +- .../director/v1_5/features/UploadClient.java | 6 +- .../features/VAppTemplateAsyncClient.java | 148 ++++++++++-------- .../v1_5/features/VAppTemplateClient.java | 118 +++++++------- .../v1_5/features/VdcAsyncClient.java | 55 +++---- .../director/v1_5/features/VdcClient.java | 33 ++-- .../OrgReferenceToTaskListEndpoint.java | 4 +- .../v1_5/functions/ReferenceToEndpoint.java | 42 ----- .../v1_5/functions/URISupplierToEndpoint.java | 40 ----- .../director/v1_5/predicates/TaskSuccess.java | 12 +- .../features/CatalogClientExpectTest.java | 100 +++--------- .../v1_5/features/CatalogClientLiveTest.java | 56 +++---- .../v1_5/features/MediaClientExpectTest.java | 89 ++++------- .../v1_5/features/MediaClientLiveTest.java | 73 ++++----- .../features/NetworkClientExpectTest.java | 36 +---- .../v1_5/features/NetworkClientLiveTest.java | 24 +-- .../v1_5/features/OrgClientExpectTest.java | 25 +-- .../v1_5/features/OrgClientLiveTest.java | 18 ++- .../v1_5/features/TaskClientExpectTest.java | 17 +- .../v1_5/features/TaskClientLiveTest.java | 21 ++- .../VAppTemplateClientExpectTest.java | 62 ++++---- .../v1_5/features/VdcClientExpectTest.java | 88 +++-------- .../v1_5/features/VdcClientLiveTest.java | 103 +++++------- .../BaseVCloudDirectorClientLiveTest.java | 7 +- 36 files changed, 524 insertions(+), 804 deletions(-) delete mode 100644 labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/ReferenceToEndpoint.java delete mode 100644 labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/URISupplierToEndpoint.java diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogAsyncClient.java index bebf5a87e5..55806b5130 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogAsyncClient.java @@ -18,6 +18,8 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; + import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -36,11 +38,8 @@ import org.jclouds.rest.binders.BindToXMLPayload; import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType; import org.jclouds.vcloud.director.v1_5.domain.Catalog; import org.jclouds.vcloud.director.v1_5.domain.CatalogItem; -import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import org.jclouds.vcloud.director.v1_5.functions.URISupplierToEndpoint; import com.google.common.util.concurrent.ListenableFuture; @@ -58,7 +57,7 @@ public interface CatalogAsyncClient { @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getCatalog(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogRef); + ListenableFuture getCatalog(@EndpointParam URI catalogUri); /** * Creates a catalog item in a catalog. @@ -69,7 +68,7 @@ public interface CatalogAsyncClient { @Produces(VCloudDirectorMediaType.CATALOG_ITEM) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture addCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogRef, + ListenableFuture addCatalogItem(@EndpointParam URI catalogUri, @BinderParam(BindToXMLPayload.class) CatalogItem catalogItem); /** @@ -79,7 +78,7 @@ public interface CatalogAsyncClient { @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef); + ListenableFuture getCatalogItem(@EndpointParam URI catalogItemUri); /** * Modifies a catalog item. @@ -89,7 +88,7 @@ public interface CatalogAsyncClient { @Produces(VCloudDirectorMediaType.CATALOG_ITEM) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture updateCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef, + ListenableFuture updateCatalogItem(@EndpointParam URI catalogItemUri, @BinderParam(BindToXMLPayload.class) CatalogItem catalogItem); /** @@ -99,10 +98,10 @@ public interface CatalogAsyncClient { @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture deleteCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef); + ListenableFuture deleteCatalogItem(@EndpointParam URI catalogItemUri); /** - * @return asynchronous access to {@link Metadata.Writeable} features + * @return asynchronous access to {@link Writable} features */ @Delegate MetadataAsyncClient.Writable getMetadataClient(); diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogClient.java index 9fc27f23de..8e52894b01 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/CatalogClient.java @@ -18,6 +18,7 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; @@ -25,7 +26,6 @@ import org.jclouds.rest.annotations.Delegate; import org.jclouds.vcloud.director.v1_5.domain.Catalog; import org.jclouds.vcloud.director.v1_5.domain.CatalogItem; import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; /** * Provides synchronous access to {@link Catalog} objects. @@ -43,10 +43,10 @@ public interface CatalogClient { * GET /catalog/{id} * * - * @param catalogRef the reference for the catalog + * @param catalogUri the reference for the catalog * @return a catalog */ - Catalog getCatalog(URISupplier catalogRef); + Catalog getCatalog(URI catalogUri); /** * Creates a catalog item in a catalog. @@ -55,11 +55,11 @@ public interface CatalogClient { * POST /catalog/{id}/catalogItems * * - * @param catalogRef the reference for the catalog + * @param catalogUri the URI of the catalog * @param item the catalog item to create * @return the created catalog item */ - CatalogItem addCatalogItem(URISupplier catalogRef, CatalogItem item); + CatalogItem addCatalogItem(URI catalogUri, CatalogItem item); /** * Retrieves a catalog item. @@ -71,7 +71,7 @@ public interface CatalogClient { * @param catalogItemRef the reference for the catalog item * @return the catalog item */ - CatalogItem getCatalogItem(URISupplier catalogItemRef); + CatalogItem getCatalogItem(URI catalogItemRef); /** * Modifies a catalog item. @@ -84,7 +84,7 @@ public interface CatalogClient { * @param catalogItem the catalog item * @return the updated catalog item */ - CatalogItem updateCatalogItem(URISupplier catalogItemRef, CatalogItem catalogItem); + CatalogItem updateCatalogItem(URI catalogItemRef, CatalogItem catalogItem); /** * Deletes a catalog item. @@ -95,7 +95,7 @@ public interface CatalogClient { * * @param catalogItemRef the reference for the catalog item */ - void deleteCatalogItem(URISupplier catalogItemRef); + void deleteCatalogItem(URI catalogItemRef); /** * @return synchronous access to {@link Metadata.Writeable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaAsyncClient.java index 4c28188b6e..9f19cc5375 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaAsyncClient.java @@ -18,6 +18,8 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; + import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -37,10 +39,8 @@ import org.jclouds.vcloud.director.v1_5.domain.Media; import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.Owner; import org.jclouds.vcloud.director.v1_5.domain.Task; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import org.jclouds.vcloud.director.v1_5.functions.URISupplierToEndpoint; import com.google.common.util.concurrent.ListenableFuture; @@ -52,43 +52,42 @@ import com.google.common.util.concurrent.ListenableFuture; public interface MediaAsyncClient { /** - * @see MediaClient#getMedia(URISupplier) + * @see MediaClient#getMedia(URI) */ @GET @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getMedia(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef); + ListenableFuture getMedia(@EndpointParam URI uri); /** - * @see MediaClient#updateMedia(URISupplier, Media)) + * @see MediaClient#updateMedia(URI, Media)) */ @PUT @Consumes(VCloudDirectorMediaType.TASK) @Produces(VCloudDirectorMediaType.MEDIA) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture updateMedia(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef, - @BinderParam(BindToXMLPayload.class) Media media); + ListenableFuture updateMedia(@EndpointParam URI uri, @BinderParam(BindToXMLPayload.class) Media media); /** - * @see MediaClient#deleteMedia(URISupplier)) + * @see MediaClient#deleteMedia(URI)) */ @DELETE @Consumes(VCloudDirectorMediaType.TASK) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture deleteMedia(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef); + ListenableFuture deleteMedia(@EndpointParam URI uri); /** - * @see MediaClient#getOwner(URISupplier) + * @see MediaClient#getOwner(URI) */ @GET @Path("/owner") @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getOwner(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef); + ListenableFuture getOwner(@EndpointParam URI uri); /** * @return asynchronous access to {@link Metadata.Writeable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaClient.java index 7f19e85b52..c779ac046f 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MediaClient.java @@ -18,6 +18,7 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; @@ -26,7 +27,6 @@ import org.jclouds.vcloud.director.v1_5.domain.Media; import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.Owner; import org.jclouds.vcloud.director.v1_5.domain.Task; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; /** * Provides synchronous access to Media. @@ -44,7 +44,7 @@ public interface MediaClient { * * @return the media or null if not found */ - Media getMedia(URISupplier mediaRef); + Media getMedia(URI mediaUri); /** * Updates the name/description of a media. @@ -52,19 +52,19 @@ public interface MediaClient { * @return a task. This operation is asynchronous and the user should monitor the returned * task status in order to check when it is completed. */ - Task updateMedia(URISupplier mediaRef, Media media); + Task updateMedia(URI mediaUri, Media media); /** * Deletes a media. */ - Task deleteMedia(URISupplier mediaRef); + Task deleteMedia(URI mediaUri); /** * Retrieves an owner. * * @return the owner or null if not found */ - Owner getOwner(URISupplier mediaRef); + Owner getOwner(URI mediaUri); /** * @return synchronous access to {@link Metadata.Writeable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataAsyncClient.java index 9164c40164..fe2dfb46c3 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataAsyncClient.java @@ -18,6 +18,8 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; + import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -40,7 +42,6 @@ import org.jclouds.vcloud.director.v1_5.domain.Task; import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import org.jclouds.vcloud.director.v1_5.functions.URISupplierToEndpoint; import com.google.common.util.concurrent.ListenableFuture; @@ -60,24 +61,23 @@ public interface MetadataAsyncClient { @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parentRef); + ListenableFuture getMetadata(@EndpointParam URI metaDataUri); /** - * @see MetadataClient.Readable#getMetadataEntry(URISupplier, String) + * @see MetadataClient.Readable#getMetadataValue(URI, String) */ @GET @Path("/metadata/{key}") @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parentRef , - @PathParam("key") String key); + ListenableFuture getMetadataValue(@EndpointParam URI metaDataUri, @PathParam("key") String key); } @RequestFilters(AddVCloudAuthorizationToRequest.class) public static interface Writable extends Readable { /** - * @see MetadataClient.Writable#mergeMetadata(URISupplier, Metadata)) + * @see MetadataClient.Writable#mergeMetadata(URI, Metadata)) */ @POST @Path("/metadata") @@ -85,12 +85,10 @@ public interface MetadataAsyncClient { @Produces(VCloudDirectorMediaType.METADATA) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture mergeMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parentRef, - @BinderParam(BindToXMLPayload.class) Metadata metadata); - + ListenableFuture mergeMetadata(@EndpointParam URI metaDataUri, @BinderParam(BindToXMLPayload.class) Metadata metadata); /** - * @see MetadataClient.Writable#setMetadata(URISupplier, String, MetadataEntry)) + * @see MetadataClient.Writable#setMetadata(URI, String, MetadataEntry)) */ @PUT @Path("/metadata/{key}") @@ -98,7 +96,7 @@ public interface MetadataAsyncClient { @Produces(VCloudDirectorMediaType.METADATA_VALUE) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture setMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier metaDataRef, + ListenableFuture setMetadata(@EndpointParam URI metaDataUri, @PathParam("key") String key, @BinderParam(BindToXMLPayload.class) MetadataValue metadataValue); @@ -110,7 +108,6 @@ public interface MetadataAsyncClient { @Consumes(VCloudDirectorMediaType.TASK) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture deleteMetadataEntry(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier metaDataRef, - @PathParam("key") String key); + ListenableFuture deleteMetadataEntry(@EndpointParam URI metaDataUri, @PathParam("key") String key); } } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataClient.java index 5d31ff3b4e..e524985e3e 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/MetadataClient.java @@ -18,13 +18,13 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.MetadataValue; import org.jclouds.vcloud.director.v1_5.domain.Task; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; /** * Provides synchronous access to Upload. @@ -42,14 +42,14 @@ public interface MetadataClient { * * @return a list of metadata */ - Metadata getMetadata(URISupplier parentRef); + Metadata getMetadata(URI uri); /** * Retrieves a metadata value * * @return the metadata value, or null if not found */ - MetadataValue getMetadataValue(URISupplier parentRef, String key); + MetadataValue getMetadataValue(URI uri, String key); } @Timeout(duration = 180, timeUnit = TimeUnit.SECONDS) @@ -60,7 +60,7 @@ public interface MetadataClient { * @return a task. This operation is asynchronous and the user should monitor the returned * task status in order to check when it is completed. */ - Task mergeMetadata(URISupplier parentRef, Metadata metadata); + Task mergeMetadata(URI uri, Metadata metadata); /** * Sets the metadata for the particular key for the media to the value provided. @@ -69,7 +69,7 @@ public interface MetadataClient { * @return a task. This operation is asynchronous and the user should monitor the returned * task status in order to check when it is completed. */ - Task setMetadata(URISupplier parentRef, String key, MetadataValue metadataValue); + Task setMetadata(URI uri, String key, MetadataValue metadataValue); /** * Deletes a metadata entry. @@ -77,6 +77,6 @@ public interface MetadataClient { * @return a task. This operation is asynchronous and the user should monitor the returned * task status in order to check when it is completed. */ - Task deleteMetadataEntry(URISupplier parentRef, String key); + Task deleteMetadataEntry(URI uri, String key); } } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkAsyncClient.java index c1121c7c50..a207290600 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkAsyncClient.java @@ -18,6 +18,8 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; + import javax.ws.rs.Consumes; import javax.ws.rs.GET; @@ -28,10 +30,8 @@ import org.jclouds.rest.annotations.JAXBResponseParser; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.OrgNetwork; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import org.jclouds.vcloud.director.v1_5.functions.URISupplierToEndpoint; import com.google.common.util.concurrent.ListenableFuture; @@ -44,13 +44,13 @@ import com.google.common.util.concurrent.ListenableFuture; public interface NetworkAsyncClient { /** - * @see NeworkClient#getNetwork(URISupplier) + * @see NetworkClient#getNetwork(URI) */ @GET @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getNetwork(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier networkRef); + ListenableFuture getNetwork(@EndpointParam URI networkUri); /** * @return asynchronous access to {@link Metadata.Readable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkClient.java index 2cf8e2239a..8c29f509c9 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/NetworkClient.java @@ -18,13 +18,13 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; import org.jclouds.rest.annotations.Delegate; import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.OrgNetwork; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; /** * Provides synchronous access to Network. @@ -42,7 +42,7 @@ public interface NetworkClient { * * @return the network or null if not found */ - OrgNetwork getNetwork(URISupplier networkRef); + OrgNetwork getNetwork(URI networkUri); /** * @return synchronous access to {@link Metadata.Readable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgAsyncClient.java index 57f647074c..fa1e7cda69 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgAsyncClient.java @@ -18,6 +18,8 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; + import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.Path; @@ -30,11 +32,8 @@ import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.Org; import org.jclouds.vcloud.director.v1_5.domain.OrgList; -import org.jclouds.vcloud.director.v1_5.domain.ReferenceType; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import org.jclouds.vcloud.director.v1_5.functions.URISupplierToEndpoint; import com.google.common.util.concurrent.ListenableFuture; @@ -55,13 +54,13 @@ public interface OrgAsyncClient { ListenableFuture getOrgList(); /** - * @see OrgClient#getOrg(ReferenceType) + * @see OrgClient#getOrg(URI) */ @GET @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getOrg(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier orgRef); + ListenableFuture getOrg(@EndpointParam URI orgUri); /** * @return asynchronous access to {@link Metadata.Readable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgClient.java index 1a954f3893..14ff6a632f 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/OrgClient.java @@ -18,6 +18,7 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; @@ -25,7 +26,6 @@ import org.jclouds.rest.annotations.Delegate; import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.Org; import org.jclouds.vcloud.director.v1_5.domain.OrgList; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; /** * Provides synchronous access to Org. @@ -57,7 +57,7 @@ public interface OrgClient { * * @return the org or null if not found */ - Org getOrg(URISupplier orgRef); + Org getOrg(URI orgRef); /** * @return synchronous access to {@link Metadata.Readable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskAsyncClient.java index d73d066d85..99a92fb54f 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskAsyncClient.java @@ -35,7 +35,6 @@ import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.OrgReferenceToTaskListEndpoint; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import org.jclouds.vcloud.director.v1_5.functions.URISupplierToEndpoint; import com.google.common.util.concurrent.ListenableFuture; @@ -53,7 +52,7 @@ public interface TaskAsyncClient { @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getTaskList(@EndpointParam(parser = OrgReferenceToTaskListEndpoint.class) URISupplier orgRef); + ListenableFuture getTaskList(@EndpointParam(parser = OrgReferenceToTaskListEndpoint.class) URI orgURI); /** * @see TaskClient#getTask(URI) @@ -62,7 +61,7 @@ public interface TaskAsyncClient { @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getTask(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier taskRef); + ListenableFuture getTask(@EndpointParam URI taskURI); /** * @see TaskClient#cancelTask(URI) @@ -72,5 +71,5 @@ public interface TaskAsyncClient { @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture cancelTask(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier taskRef); + ListenableFuture cancelTask(@EndpointParam URI taskURI); } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskClient.java index 58a6a05671..f05e885328 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/TaskClient.java @@ -18,12 +18,12 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; import org.jclouds.vcloud.director.v1_5.domain.Task; import org.jclouds.vcloud.director.v1_5.domain.TasksList; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; /** * Provides synchronous access to {@link Task} objects. @@ -41,10 +41,10 @@ public interface TaskClient { * GET /tasksList/{id} * * - * @param orgId the unique id for the organization + * @param orgURI the URI of the organization * @return a list of tasks */ - TasksList getTaskList(URISupplier orgRef); + TasksList getTaskList(URI orgURI); /** * Retrieves a task. @@ -55,7 +55,7 @@ public interface TaskClient { * * @return the task or null if not found */ - Task getTask(URISupplier taskUri); + Task getTask(URI taskUri); /** * Cancels a task. @@ -64,5 +64,5 @@ public interface TaskClient { * POST /task/{id}/action/cancel * */ - void cancelTask(URISupplier taskUri); + void cancelTask(URI taskUri); } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadAsyncClient.java index 0f0062acb1..3921252314 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadAsyncClient.java @@ -19,12 +19,12 @@ package org.jclouds.vcloud.director.v1_5.features; import java.io.File; +import java.net.URI; import javax.ws.rs.PUT; import org.jclouds.rest.annotations.ExceptionParser; import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; @@ -39,17 +39,17 @@ import com.google.common.util.concurrent.ListenableFuture; public interface UploadAsyncClient { // TODO: implement these operations correctly /** - * @see UploadClient#uploadFile(URISupplier, File) + * @see UploadClient#uploadFile(URI, File) */ @PUT @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture uploadFile(URISupplier target, File file); + ListenableFuture uploadFile(URI uri, File file); /** - * @see UploadClient#uploadBigFile(URISupplier, File) + * @see UploadClient#uploadBigFile(URI, File) */ @PUT @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture uploadBigFile(URISupplier target, File file); + ListenableFuture uploadBigFile(URI target, File file); } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadClient.java index cc256c7123..147c7a415f 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/UploadClient.java @@ -19,10 +19,10 @@ package org.jclouds.vcloud.director.v1_5.features; import java.io.File; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; /** * Provides synchronous access to Upload. @@ -38,11 +38,11 @@ public interface UploadClient { /** * Uploads a file. */ - void uploadFile(URISupplier target, File file); + void uploadFile(URI uri, File file); /** * Uploads a file using ranged PUTs. */ - void uploadBigFile(URISupplier target, File file); + void uploadBigFile(URI uri, File file); } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateAsyncClient.java index adfd70e28f..701d62af68 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateAsyncClient.java @@ -20,18 +20,30 @@ package org.jclouds.vcloud.director.v1_5.features; import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.*; -import com.google.common.util.concurrent.ListenableFuture; +import java.net.URI; + +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import org.jclouds.ovf.Envelope; import org.jclouds.ovf.NetworkSection; -import org.jclouds.rest.annotations.*; +import org.jclouds.rest.annotations.BinderParam; +import org.jclouds.rest.annotations.EndpointParam; +import org.jclouds.rest.annotations.ExceptionParser; +import org.jclouds.rest.annotations.JAXBResponseParser; +import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.binders.BindToXMLPayload; import org.jclouds.vcloud.director.v1_5.domain.*; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; -import org.jclouds.vcloud.director.v1_5.functions.ReferenceToEndpoint; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import javax.ws.rs.*; +import com.google.common.util.concurrent.ListenableFuture; /** * @author Adam Lowe @@ -41,276 +53,276 @@ import javax.ws.rs.*; public interface VAppTemplateAsyncClient { /** - * @see org.jclouds.vcloud.director.v1_5.features.VAppTemplateClient#getVAppTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see org.jclouds.vcloud.director.v1_5.features.VAppTemplateClient#getVAppTemplate(URI) */ @GET @Consumes(VAPP_TEMPLATE) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getVAppTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier reference); + ListenableFuture getVAppTemplate(@EndpointParam URI reference); /** - * @see org.jclouds.vcloud.director.v1_5.features.VAppTemplateClient#editVAppTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.VAppTemplate) + * @see org.jclouds.vcloud.director.v1_5.features.VAppTemplateClient#editVAppTemplate(URI, org.jclouds.vcloud.director.v1_5.domain.VAppTemplate) */ @PUT @Produces(VAPP_TEMPLATE) @Consumes(TASK) @JAXBResponseParser - ListenableFuture editVAppTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier reference, + ListenableFuture editVAppTemplate(@EndpointParam URI templateURI, @BinderParam(BindToXMLPayload.class) VAppTemplate template); /** - * @see VAppTemplateClient#deleteVappTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#deleteVappTemplate(URI) */ @DELETE @Consumes(TASK) @JAXBResponseParser - ListenableFuture deleteVappTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture deleteVappTemplate(@EndpointParam URI templateUri); /** - * @see VAppTemplateClient#consolidateVappTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#consolidateVappTemplate(URI) */ @POST @Consumes(TASK) @Path("/action/consolidate") @JAXBResponseParser - ListenableFuture consolidateVappTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture consolidateVappTemplate(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#disableDownloadVappTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#disableDownloadVappTemplate(URI) */ @POST @Consumes(TASK) @Path("/action/disableDownload") @JAXBResponseParser - ListenableFuture disableDownloadVappTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture disableDownloadVappTemplate(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#enableDownloadVappTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#enableDownloadVappTemplate(URI) */ @POST @Consumes(TASK) @Path("/action/enableDownload") @JAXBResponseParser - ListenableFuture enableDownloadVappTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture enableDownloadVappTemplate(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#relocateVappTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.RelocateParams) + * @see VAppTemplateClient#relocateVappTemplate(URI, org.jclouds.vcloud.director.v1_5.domain.RelocateParams) */ @POST @Produces(RELOCATE_TEMPLATE) @Consumes(TASK) @Path("/action/relocate") @JAXBResponseParser - ListenableFuture relocateVappTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, + ListenableFuture relocateVappTemplate(@EndpointParam URI templateURI, @BinderParam(BindToXMLPayload.class) RelocateParams params); /** - * @see VAppTemplateClient#getVAppTemplateCustomizationSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVAppTemplateCustomizationSection(URI) */ @GET @Consumes(CUSTOMIZATION_SECTION) @Path("/customizationSection") @JAXBResponseParser - ListenableFuture getVAppTemplateCustomizationSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVAppTemplateCustomizationSection(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#editVAppTemplateCustomizationSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.CustomizationSection) + * @see VAppTemplateClient#editVAppTemplateCustomizationSection(URI, org.jclouds.vcloud.director.v1_5.domain.CustomizationSection) */ @PUT @Produces(CUSTOMIZATION_SECTION) @Consumes(TASK) @Path("/customizationSection") @JAXBResponseParser - ListenableFuture editVAppTemplateCustomizationSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, + ListenableFuture editVAppTemplateCustomizationSection(@EndpointParam URI templateURI, @BinderParam(BindToXMLPayload.class) CustomizationSection sectionType); /** - * @see VAppTemplateClient#getVAppTemplateGuestCustomizationSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVAppTemplateGuestCustomizationSection(URI) */ @GET @Consumes(GUEST_CUSTOMIZATION_SECTION) @Path("/guestCustomizationSection") @JAXBResponseParser - ListenableFuture getVAppTemplateGuestCustomizationSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVAppTemplateGuestCustomizationSection(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#editVAppTemplateGuestCustomizationSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.GuestCustomizationSection) + * @see VAppTemplateClient#editVAppTemplateGuestCustomizationSection(URI, org.jclouds.vcloud.director.v1_5.domain.GuestCustomizationSection) */ @PUT @Produces(GUEST_CUSTOMIZATION_SECTION) @Consumes(TASK) @Path("/guestCustomizationSection") @JAXBResponseParser - ListenableFuture editVAppTemplateGuestCustomizationSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @BinderParam(BindToXMLPayload.class) GuestCustomizationSection section); + ListenableFuture editVAppTemplateGuestCustomizationSection(@EndpointParam URI templateURI, + @BinderParam(BindToXMLPayload.class) GuestCustomizationSection section); /** - * @see VAppTemplateClient#getVappTemplateLeaseSettingsSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVappTemplateLeaseSettingsSection(URI) */ @GET @Consumes(LEASE_SETTINGS_SECTION) @Path("/leaseSettingsSection") @JAXBResponseParser - ListenableFuture getVappTemplateLeaseSettingsSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVappTemplateLeaseSettingsSection(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#editVappTemplateLeaseSettingsSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.LeaseSettingsSection) + * @see VAppTemplateClient#editVappTemplateLeaseSettingsSection(URI, org.jclouds.vcloud.director.v1_5.domain.LeaseSettingsSection) */ @PUT @Produces(LEASE_SETTINGS_SECTION) @Consumes(TASK) @Path("/leaseSettingsSection") @JAXBResponseParser - ListenableFuture editVappTemplateLeaseSettingsSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, + ListenableFuture editVappTemplateLeaseSettingsSection(@EndpointParam URI templateURI, @BinderParam(BindToXMLPayload.class) LeaseSettingsSection settingsSection); /** - * @see VAppTemplateClient#getVAppTemplateMetadata(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVAppTemplateMetadata(URI) */ @GET @Consumes(METADATA) @Path("/metadata") @JAXBResponseParser - ListenableFuture getVAppTemplateMetadata(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVAppTemplateMetadata(@EndpointParam URI templateURI); @PUT @Produces(METADATA) @Consumes(TASK) @Path("/metadata") @JAXBResponseParser - ListenableFuture editVAppTemplateMetadata(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @BinderParam(BindToXMLPayload.class) Metadata metadata); + ListenableFuture editVAppTemplateMetadata(@EndpointParam URI templateURI, + @BinderParam(BindToXMLPayload.class) Metadata metadata); /** - * @see VAppTemplateClient#getVAppTemplateMetadataValue(org.jclouds.vcloud.director.v1_5.domain.URISupplier, String) + * @see VAppTemplateClient#getVAppTemplateMetadataValue(URI, String) */ @GET @Consumes(METADATA_ENTRY) @Path("/metadata/{key}") @JAXBResponseParser - ListenableFuture getVAppTemplateMetadataValue(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @PathParam("key") String key); + ListenableFuture getVAppTemplateMetadataValue(@EndpointParam URI templateURI, + @PathParam("key") String key); /** - * @see VAppTemplateClient#editVAppTemplateMetadataValue(org.jclouds.vcloud.director.v1_5.domain.URISupplier, String, org.jclouds.vcloud.director.v1_5.domain.MetadataValue) + * @see VAppTemplateClient#editVAppTemplateMetadataValue(URI, String, org.jclouds.vcloud.director.v1_5.domain.MetadataValue) */ @PUT @Produces(METADATA_ENTRY) @Consumes(TASK) @Path("/metadata/{key}") @JAXBResponseParser - ListenableFuture editVAppTemplateMetadataValue(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @PathParam("key") String key, - @BinderParam(BindToXMLPayload.class) MetadataValue value); + ListenableFuture editVAppTemplateMetadataValue(@EndpointParam URI templateURI, + @PathParam("key") String key, + @BinderParam(BindToXMLPayload.class) MetadataValue value); /** - * @see VAppTemplateClient#deleteVAppTemplateMetadataValue(URISupplier, String) + * @see VAppTemplateClient#deleteVAppTemplateMetadataValue(URI, String) */ @DELETE @Consumes(TASK) @Path("/metadata/{key}") @JAXBResponseParser - ListenableFuture deleteVAppTemplateMetadataValue(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @PathParam("key") String key); + ListenableFuture deleteVAppTemplateMetadataValue(@EndpointParam URI templateURI, + @PathParam("key") String key); /** - * @see VAppTemplateClient#getVAppTemplateNetworkConfigSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVAppTemplateNetworkConfigSection(URI) */ @GET @Consumes(NETWORK_CONFIG_SECTION) @Path("/networkConfigSection") @JAXBResponseParser - ListenableFuture getVAppTemplateNetworkConfigSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVAppTemplateNetworkConfigSection(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#editVAppTemplateNetworkConfigSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection) + * @see VAppTemplateClient#editVAppTemplateNetworkConfigSection(URI, org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection) */ @PUT @Produces(NETWORK_CONFIG_SECTION) @Consumes(TASK) @Path("/networkConfigSection") @JAXBResponseParser - ListenableFuture editVAppTemplateNetworkConfigSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @BinderParam(BindToXMLPayload.class) NetworkConfigSection section); + ListenableFuture editVAppTemplateNetworkConfigSection(@EndpointParam URI templateURI, + @BinderParam(BindToXMLPayload.class) NetworkConfigSection section); /** - * @see VAppTemplateClient#getVAppTemplateNetworkConnectionSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVAppTemplateNetworkConnectionSection(URI) */ @GET @Consumes(NETWORK_CONNECTION_SECTION) @Path("/networkConnectionSection") @JAXBResponseParser - ListenableFuture getVAppTemplateNetworkConnectionSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVAppTemplateNetworkConnectionSection(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#editVAppTemplateNetworkConnectionSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection) + * @see VAppTemplateClient#editVAppTemplateNetworkConnectionSection(URI, org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection) */ @PUT @Produces(NETWORK_CONNECTION_SECTION) @Consumes(TASK) @Path("/networkConnectionSection") @JAXBResponseParser - ListenableFuture editVAppTemplateNetworkConnectionSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @BinderParam(BindToXMLPayload.class) NetworkConnectionSection section); + ListenableFuture editVAppTemplateNetworkConnectionSection(@EndpointParam URI templateURI, + @BinderParam(BindToXMLPayload.class) NetworkConnectionSection section); /** - * @see VAppTemplateClient#getVAppTemplateNetworkSection(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVAppTemplateNetworkSection(URI) */ @GET @Consumes(NETWORK_SECTION) @Path("/networkSection") @JAXBResponseParser - ListenableFuture getVAppTemplateNetworkSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVAppTemplateNetworkSection(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#editVAppTemplateNetworkSection(URISupplier, NetworkSection) + * @see VAppTemplateClient#editVAppTemplateNetworkSection(URI, NetworkSection) */ @PUT @Produces(NETWORK_SECTION) @Consumes(TASK) @Path("/networkSection") @JAXBResponseParser - ListenableFuture editVAppTemplateNetworkSection(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, - @BinderParam(BindToXMLPayload.class) NetworkSection section); + ListenableFuture editVAppTemplateNetworkSection(@EndpointParam URI templateURI, + @BinderParam(BindToXMLPayload.class) NetworkSection section); /** - * @see VAppTemplateClient#getVAppTemplateOvf(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getVAppTemplateOvf(URI) */ @GET @Consumes(ENVELOPE) @Path("/ovf") @JAXBResponseParser - ListenableFuture getVAppTemplateOvf(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getVAppTemplateOvf(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#getOwnerOfVAppTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getOwnerOfVAppTemplate(URI) */ @GET @Consumes(OWNER) @Path("/owner") @JAXBResponseParser - ListenableFuture getOwnerOfVAppTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getOwnerOfVAppTemplate(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#getProductSectionsForVAppTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier) + * @see VAppTemplateClient#getProductSectionsForVAppTemplate(URI) */ @GET @Consumes(PRODUCT_SECTION_LIST) @Path("/productSections") @JAXBResponseParser - ListenableFuture getProductSectionsForVAppTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference); + ListenableFuture getProductSectionsForVAppTemplate(@EndpointParam URI templateURI); /** - * @see VAppTemplateClient#editProductSectionsForVAppTemplate(org.jclouds.vcloud.director.v1_5.domain.URISupplier, org.jclouds.vcloud.director.v1_5.domain.ProductSectionList) + * @see VAppTemplateClient#editProductSectionsForVAppTemplate(URI, org.jclouds.vcloud.director.v1_5.domain.ProductSectionList) */ @PUT @Produces(PRODUCT_SECTION_LIST) @Consumes(TASK) @Path("/productSections") @JAXBResponseParser - ListenableFuture editProductSectionsForVAppTemplate(@EndpointParam(parser = ReferenceToEndpoint.class) URISupplier templateReference, + ListenableFuture editProductSectionsForVAppTemplate(@EndpointParam URI templateURI, @BinderParam(BindToXMLPayload.class) ProductSectionList sections); // TODO shadowVms ? diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClient.java index 949c12aa4d..618647e8d6 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClient.java @@ -18,14 +18,14 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; +import java.util.concurrent.TimeUnit; + import org.jclouds.concurrent.Timeout; import org.jclouds.ovf.Envelope; import org.jclouds.ovf.NetworkSection; import org.jclouds.vcloud.director.v1_5.domain.*; -import java.net.URI; -import java.util.concurrent.TimeUnit; - /** * Provides synchronous access to {@link org.jclouds.vcloud.director.v1_5.domain.VAppTemplate} objects. * @@ -38,227 +38,227 @@ public interface VAppTemplateClient { /** * Retrieves a vApp template (can be used also to retrieve a VM from a vApp Template). * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the requested template */ - VAppTemplate getVAppTemplate(URISupplier templateReference); + VAppTemplate getVAppTemplate(URI templateUri); /** * Modifies only the name/description of a vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @param template the template containing the new name and/or description * @return the task performing the action */ - Task editVAppTemplate(URISupplier templateReference, VAppTemplate template); + Task editVAppTemplate(URI templateUri, VAppTemplate template); /** * Deletes a vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task deleteVappTemplate(URISupplier templateReference); + Task deleteVappTemplate(URI templateUri); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task consolidateVappTemplate(URISupplier templateReference); + Task consolidateVappTemplate(URI templateUri); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task disableDownloadVappTemplate(URISupplier templateReference); + Task disableDownloadVappTemplate(URI templateUri); /** * Consolidates a VM, * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task enableDownloadVappTemplate(URISupplier templateReference); + Task enableDownloadVappTemplate(URI templateUri); /** * Relocates a virtual machine in a vApp template to a different datastore. * * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task relocateVappTemplate(URISupplier templateReference, RelocateParams params); + Task relocateVappTemplate(URI templateUri, RelocateParams params); /** * Retrieves the customization section of a vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - CustomizationSection getVAppTemplateCustomizationSection(URISupplier templateReference); + CustomizationSection getVAppTemplateCustomizationSection(URI templateUri); /** * Modifies the vApp template customization information. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVAppTemplateCustomizationSection(URISupplier templateReference, CustomizationSection sectionType); + Task editVAppTemplateCustomizationSection(URI templateUri, CustomizationSection sectionType); /** * Retrieves the Guest Customization Section of a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - GuestCustomizationSection getVAppTemplateGuestCustomizationSection(URISupplier templateReference); + GuestCustomizationSection getVAppTemplateGuestCustomizationSection(URI templateUri); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVAppTemplateGuestCustomizationSection(URISupplier templateReference, GuestCustomizationSection sectionType); + Task editVAppTemplateGuestCustomizationSection(URI templateUri, GuestCustomizationSection sectionType); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - LeaseSettingsSection getVappTemplateLeaseSettingsSection(URISupplier templateReference); + LeaseSettingsSection getVappTemplateLeaseSettingsSection(URI templateUri); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVappTemplateLeaseSettingsSection(URISupplier templateReference, LeaseSettingsSection settingsSection); + Task editVappTemplateLeaseSettingsSection(URI templateUri, LeaseSettingsSection settingsSection); /** * Retrieves the metadata associated with a vApp Template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the requested metadata */ - Metadata getVAppTemplateMetadata(URISupplier templateReference); + Metadata getVAppTemplateMetadata(URI templateUri); /** * Merges the metadata for a vApp Template with the information provided. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVAppTemplateMetadata(URISupplier templateReference, Metadata metadata); + Task editVAppTemplateMetadata(URI templateUri, Metadata metadata); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - MetadataValue getVAppTemplateMetadataValue(URISupplier templateReference, String key); + MetadataValue getVAppTemplateMetadataValue(URI templateUri, String key); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVAppTemplateMetadataValue(URISupplier templateReference, String key, MetadataValue value); + Task editVAppTemplateMetadataValue(URI templateUri, String key, MetadataValue value); /** * Consolidates a VM * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task deleteVAppTemplateMetadataValue(URISupplier templateReference, String key); + Task deleteVAppTemplateMetadataValue(URI templateUri, String key); /** * Retrieves the network config section of a vApp or vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the network config section requested */ - NetworkConfigSection getVAppTemplateNetworkConfigSection(URISupplier templateReference); + NetworkConfigSection getVAppTemplateNetworkConfigSection(URI templateUri); /** * Modifies the network config section of a vApp or vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVAppTemplateNetworkConfigSection(URISupplier templateReference, NetworkConfigSection section); + Task editVAppTemplateNetworkConfigSection(URI templateUri, NetworkConfigSection section); /** * Retrieves the network connection section of a vApp or vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the network connection section requested */ - NetworkConnectionSection getVAppTemplateNetworkConnectionSection(URISupplier templateReference); + NetworkConnectionSection getVAppTemplateNetworkConnectionSection(URI templateUri); /** * Modifies the network connection section of a vApp or vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVAppTemplateNetworkConnectionSection(URISupplier templateReference, NetworkConnectionSection section); + Task editVAppTemplateNetworkConnectionSection(URI templateUri, NetworkConnectionSection section); /** * Retrieves the network section of a vApp or vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the network section requested */ - NetworkSection getVAppTemplateNetworkSection(URISupplier templateReference); + NetworkSection getVAppTemplateNetworkSection(URI templateUri); /** * Modifies the network section of a vApp or vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editVAppTemplateNetworkSection(URISupplier templateReference, NetworkSection section); + Task editVAppTemplateNetworkSection(URI templateUri, NetworkSection section); /** * Retrieves an OVF descriptor of a vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Envelope getVAppTemplateOvf(URISupplier templateReference); + Envelope getVAppTemplateOvf(URI templateUri); /** * Retrieves vApp template owner. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the owner of the vApp template */ - Owner getOwnerOfVAppTemplate(URISupplier templateReference); + Owner getOwnerOfVAppTemplate(URI templateUri); /** * Retrieves VAppTemplate/VM product sections * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the product sections */ - ProductSectionList getProductSectionsForVAppTemplate(URISupplier templateReference); + ProductSectionList getProductSectionsForVAppTemplate(URI templateUri); /** * Modifies the product sections of a vApp or vApp template. * - * @param templateReference the reference to the template + * @@param templateUri the URI of the template * @return the task performing the action */ - Task editProductSectionsForVAppTemplate(URISupplier templateReference, ProductSectionList sections); + Task editProductSectionsForVAppTemplate(URI templateUri, ProductSectionList sections); // TODO ShadowVms??? } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcAsyncClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcAsyncClient.java index 100692c8cb..345baae334 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcAsyncClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcAsyncClient.java @@ -17,7 +17,9 @@ * under the License. */ package org.jclouds.vcloud.director.v1_5.features; - + +import java.net.URI; + import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; @@ -32,22 +34,9 @@ import org.jclouds.rest.annotations.JAXBResponseParser; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.binders.BindToXMLPayload; import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType; -import org.jclouds.vcloud.director.v1_5.domain.CaptureVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneMediaParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.ComposeVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.InstantiateVAppParamsType; -import org.jclouds.vcloud.director.v1_5.domain.Media; -import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; -import org.jclouds.vcloud.director.v1_5.domain.UploadVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.VApp; -import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate; -import org.jclouds.vcloud.director.v1_5.domain.Vdc; +import org.jclouds.vcloud.director.v1_5.domain.*; import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest; import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx; -import org.jclouds.vcloud.director.v1_5.functions.URISupplierToEndpoint; import com.google.common.util.concurrent.ListenableFuture; @@ -60,16 +49,16 @@ import com.google.common.util.concurrent.ListenableFuture; public interface VdcAsyncClient { /** - * @see VdcClient#getVdc(URISupplier) + * @see VdcClient#getVdc(URI) */ @GET @Consumes @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture getVdc(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef); + ListenableFuture getVdc(@EndpointParam URI vdcURI); /** - * @see VdcClient#captureVApp(URISupplier, CaptureVAppParams) + * @see VdcClient#captureVApp(URI, CaptureVAppParams) */ @POST @Path("/action/captureVApp") @@ -77,11 +66,11 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.CAPTURE_VAPP_PARAMS) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture captureVApp(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture captureVApp(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) CaptureVAppParams params); /** - * @see VdcClient#cloneMedia(URISupplier, CloneMediaParams) + * @see VdcClient#cloneMedia(URI, CloneMediaParams) */ @POST @Path("/action/cloneMedia") @@ -89,11 +78,11 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.CLONE_MEDIA_PARAMS) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture cloneMedia(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture cloneMedia(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) CloneMediaParams params); /** - * @see VdcClient#cloneVApp(URISupplier, CloneVAppParams) + * @see VdcClient#cloneVApp(URI, CloneVAppParams) */ @POST @Path("/action/cloneVApp") @@ -101,11 +90,11 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.CLONE_V_APP_PARAMS) //TODO fix these etc. @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture cloneVApp(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture cloneVApp(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) CloneVAppParams params); /** - * @see VdcClient#cloneVAppTemplate(URISupplier, CloneVAppTemplateParams) + * @see VdcClient#cloneVAppTemplate(URI, CloneVAppTemplateParams) */ @POST @Path("/action/cloneVAppTemplate") @@ -113,11 +102,11 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.CLONE_V_APP_TEMPLATE_PARAMS) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture cloneVAppTemplate(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture cloneVAppTemplate(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) CloneVAppTemplateParams params); /** - * @see VdcClient#composeVApp(URISupplier, ComposeVAppParams) + * @see VdcClient#composeVApp(URI, ComposeVAppParams) */ @POST @Path("/action/composeVApp") @@ -125,11 +114,11 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.COMPOSE_VAPP_PARAMS) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture composeVApp(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture composeVApp(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) ComposeVAppParams params); /** - * @see VdcClient#instantiateVApp(URISupplier, InstantiateVAppParamsType) + * @see VdcClient#instantiateVApp(URI, InstantiateVAppParamsType) */ @POST @Path("/action/instantiateVApp") @@ -137,11 +126,11 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.INSTANTIATE_VAPP_TEMPLATE_PARAMS) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture instantiateVApp(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture instantiateVApp(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) InstantiateVAppParamsType params); /** - * @see VdcClient#uploadVAppTemplate(URISupplier, UploadVAppTemplateParams) + * @see VdcClient#uploadVAppTemplate(URI, UploadVAppTemplateParams) */ @POST @Path("/action/uploadVAppTemplate") @@ -149,11 +138,11 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.UPLOAD_VAPP_TEMPLATE_PARAMS) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture uploadVAppTemplate(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture uploadVAppTemplate(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) UploadVAppTemplateParams params); /** - * @see VdcClient#createMedia(URISupplier, Media) + * @see VdcClient#createMedia(URI, Media) */ @POST @Path("/media") @@ -161,7 +150,7 @@ public interface VdcAsyncClient { @Produces(VCloudDirectorMediaType.MEDIA) @JAXBResponseParser @ExceptionParser(ThrowVCloudErrorOn4xx.class) - ListenableFuture createMedia(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef, + ListenableFuture createMedia(@EndpointParam URI vdcURI, @BinderParam(BindToXMLPayload.class) Media media); /** diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcClient.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcClient.java index 7a20e21fe0..c0bab55cd6 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcClient.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcClient.java @@ -18,23 +18,12 @@ */ package org.jclouds.vcloud.director.v1_5.features; +import java.net.URI; import java.util.concurrent.TimeUnit; import org.jclouds.concurrent.Timeout; import org.jclouds.rest.annotations.Delegate; -import org.jclouds.vcloud.director.v1_5.domain.CaptureVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneMediaParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.ComposeVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.InstantiateVAppParamsType; -import org.jclouds.vcloud.director.v1_5.domain.Media; -import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; -import org.jclouds.vcloud.director.v1_5.domain.UploadVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.VApp; -import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate; -import org.jclouds.vcloud.director.v1_5.domain.Vdc; +import org.jclouds.vcloud.director.v1_5.domain.*; /** * Provides synchronous access to a vDC. @@ -52,7 +41,7 @@ public interface VdcClient { * * @return the vdc or null if not found */ - Vdc getVdc(URISupplier vdcRef); + Vdc getVdc(URI vdcUri); /** * Captures a vApp into vApp template. @@ -61,7 +50,7 @@ public interface VdcClient { * @return a VApp resource which will contain a task. * The user should should wait for this task to finish to be able to use the vApp. */ - VAppTemplate captureVApp(URISupplier vdcRef, CaptureVAppParams params); + VAppTemplate captureVApp(URI vdcUri, CaptureVAppParams params); /** * Clones a media into new one. @@ -70,7 +59,7 @@ public interface VdcClient { * @return a Media resource which will contain a task. * The user should monitor the contained task status in order to check when it is completed. */ - Media cloneMedia(URISupplier vdcRef, CloneMediaParams params); + Media cloneMedia(URI vdcUri, CloneMediaParams params); /** * Clones a vApp into new one. The status of vApp will be in UNRESOLVED(0) until the clone task is finished. @@ -78,7 +67,7 @@ public interface VdcClient { * @return a VApp resource which will contain a task. * The user should should wait for this task to finish to be able to use the vApp. */ - VApp cloneVApp(URISupplier vdcRef, CloneVAppParams params); + VApp cloneVApp(URI vdcUri, CloneVAppParams params); /** * Clones a vApp template into new one. @@ -87,7 +76,7 @@ public interface VdcClient { * @return a VAppTemplate resource which will contain a task. * The user should should wait for this task to finish to be able to use the VAppTemplate. */ - VAppTemplate cloneVAppTemplate(URISupplier vdcRef, CloneVAppTemplateParams params); + VAppTemplate cloneVAppTemplate(URI vdcUri, CloneVAppTemplateParams params); /** * Composes a new vApp using VMs from other vApps or vApp templates. The vCloud API supports @@ -111,7 +100,7 @@ public interface VdcClient { * @return a VApp resource which will contain a task. * The user should should wait for this task to finish to be able to use the vApp. */ - VApp composeVApp(URISupplier vdcRef, ComposeVAppParams params); + VApp composeVApp(URI vdcUri, ComposeVAppParams params); /** * Instantiate a vApp template into a new vApp. @@ -120,7 +109,7 @@ public interface VdcClient { * @return a VApp resource which will contain a task. * The user should should wait for this task to finish to be able to use the vApp. */ - VApp instantiateVApp(URISupplier vdcRef, InstantiateVAppParamsType params); + VApp instantiateVApp(URI vdcUri, InstantiateVAppParamsType params); /** * Uploading vApp template to a vDC. The operation is separate on several steps: @@ -134,14 +123,14 @@ public interface VdcClient { * @return a VAppTemplate resource which will contain a task. * The user should should wait for this task to finish to be able to use the VAppTemplate. */ - VAppTemplate uploadVAppTemplate(URISupplier vdcRef, UploadVAppTemplateParams params); + VAppTemplate uploadVAppTemplate(URI vdcUri, UploadVAppTemplateParams params); /** * Creates a media (and present upload link for the floppy/iso file). * * @return The response will return a link to transfer site to be able to continue with uploading the media. */ - Media createMedia(URISupplier vdcRef, Media media); + Media createMedia(URI vdcUri, Media media); /** * @return synchronous access to {@link Metadata.Readable} features diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/OrgReferenceToTaskListEndpoint.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/OrgReferenceToTaskListEndpoint.java index 7dceb1dc56..a46f945082 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/OrgReferenceToTaskListEndpoint.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/OrgReferenceToTaskListEndpoint.java @@ -47,8 +47,8 @@ public class OrgReferenceToTaskListEndpoint implements Function { @Override public URI apply(Object input) { Preconditions.checkNotNull(input); - Preconditions.checkArgument(input instanceof URISupplier); - URISupplier reference = (URISupplier) input; + Preconditions.checkArgument(input instanceof URI); + URI reference = (URI) input; Org org = client.getOrg(reference); for (Link link : org.getLinks()) { if (link.getType().equals(VCloudDirectorMediaType.TASKS_LIST)) { diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/ReferenceToEndpoint.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/ReferenceToEndpoint.java deleted file mode 100644 index 947b848455..0000000000 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/ReferenceToEndpoint.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Licensed to jclouds, Inc. (jclouds) under one or more - * contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. jclouds 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.vcloud.director.v1_5.functions; - -import java.net.URI; - -import org.jclouds.vcloud.director.v1_5.domain.ReferenceType; - -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; - -/** - * @author grkvlt@apache.org - */ -@Deprecated -public class ReferenceToEndpoint implements Function { - - @Override - public URI apply(Object input) { - Preconditions.checkNotNull(input); - Preconditions.checkArgument(input instanceof URISupplier); - URISupplier reference = (URISupplier) input; - return reference.getURI(); - }; -} \ No newline at end of file diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/URISupplierToEndpoint.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/URISupplierToEndpoint.java deleted file mode 100644 index 750b007f7a..0000000000 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/functions/URISupplierToEndpoint.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Licensed to jclouds, Inc. (jclouds) under one or more - * contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. jclouds 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.vcloud.director.v1_5.functions; - -import java.net.URI; - -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; - -import com.google.common.base.Function; -import com.google.common.base.Preconditions; - -/** - * @author danikov - */ -public class URISupplierToEndpoint implements Function { - - @Override - public URI apply(Object input) { - Preconditions.checkNotNull(input); - Preconditions.checkArgument(input instanceof URISupplier); - URISupplier provider = (URISupplier) input; - return provider.getURI(); - }; -} \ No newline at end of file diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/predicates/TaskSuccess.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/predicates/TaskSuccess.java index 0a344ca8f2..1cd2a9d804 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/predicates/TaskSuccess.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/predicates/TaskSuccess.java @@ -18,6 +18,8 @@ */ package org.jclouds.vcloud.director.v1_5.predicates; +import java.net.URI; + import javax.annotation.Resource; import javax.inject.Inject; import javax.inject.Singleton; @@ -36,7 +38,7 @@ import com.google.common.base.Predicate; * @author grkvlt@apache.org */ @Singleton -public class TaskSuccess implements Predicate { +public class TaskSuccess implements Predicate { private final TaskClient taskClient; @@ -50,10 +52,12 @@ public class TaskSuccess implements Predicate { /** @see Predicate#apply(Object) */ @Override - public boolean apply(URISupplier taskRef) { - logger.trace("looking for status on task %s", taskRef); + public boolean apply(Task task) { + logger.trace("looking for status on task %s", task); - Task task = taskClient.getTask(taskRef); + // TODO shouldn't we see if it's already done before getting it from API server? + task = taskClient.getTask(task.getURI()); + // perhaps task isn't available, yet if (task == null) return false; logger.trace("%s: looking for status %s: currently: %s", task, Task.Status.SUCCESS, task.getStatus()); diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientExpectTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientExpectTest.java index 2df331d169..8ec7da7646 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientExpectTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientExpectTest.java @@ -69,13 +69,8 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT Catalog expected = catalog(); - Reference catalogRef = Reference.builder() - .type("application/vnd.vmware.vcloud.catalog+xml") - .name("QunyingTestCatalog") - .href(URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4")) - .build(); - - assertEquals(client.getCatalogClient().getCatalog(catalogRef), expected); + URI catalogURI = URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4"); + assertEquals(client.getCatalogClient().getCatalog(catalogURI), expected); } @Test @@ -97,11 +92,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogRef = Reference.builder() - .type("application/vnd.vmware.vcloud.catalog+xml") - .name("QunyingTestCatalog") - .href(URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4")) - .build(); + URI catalogURI = URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4"); CatalogItem newItem = CatalogItem.builder() .name("newCatalogItem") @@ -111,7 +102,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT CatalogItem expected = createdCatalogItem(); - assertEquals(client.getCatalogClient().addCatalogItem(catalogRef, newItem), expected); + assertEquals(client.getCatalogClient().addCatalogItem(catalogURI, newItem), expected); } @Test @@ -132,11 +123,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogRequest, catalogResponse); - Reference catalogRef = Reference.builder() - .type("application/vnd.vmware.vcloud.catalog+xml") - .name("QunyingTestCatalog") - .href(URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4")) - .build(); + URI catalogURI = URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4"); Metadata expected = Metadata.builder() .type("application/vnd.vmware.vcloud.metadata+xml") @@ -149,7 +136,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT .entries(ImmutableSet.of(metadataEntry())) .build(); - assertEquals(client.getCatalogClient().getMetadataClient().getMetadata(catalogRef), expected); + assertEquals(client.getCatalogClient().getMetadataClient().getMetadata(catalogURI), expected); } @Test @@ -170,15 +157,11 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogRequest, catalogResponse); - Reference catalogRef = Reference.builder() - .type("application/vnd.vmware.vcloud.catalog+xml") - .name("QunyingTestCatalog") - .href(URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4")) - .build(); + URI catalogURI = URI.create(endpoint + "/catalog/7212e451-76e1-4631-b2de-ba1dfd8080e4"); MetadataValue expected = metadataValue(); - assertEquals(client.getCatalogClient().getMetadataClient().getMetadataValue(catalogRef, "KEY"), expected); + assertEquals(client.getCatalogClient().getMetadataClient().getMetadataValue(catalogURI, "KEY"), expected); } @Test @@ -199,15 +182,11 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); CatalogItem expected = catalogItem(); - assertEquals(client.getCatalogClient().getCatalogItem(catalogItemReference), expected); + assertEquals(client.getCatalogClient().getCatalogItem(catalogItemURI), expected); } @Test @@ -229,15 +208,10 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); - + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); CatalogItem expected = catalogItem(); - assertEquals(client.getCatalogClient().updateCatalogItem(catalogItemReference, expected), expected); + assertEquals(client.getCatalogClient().updateCatalogItem(catalogItemURI, expected), expected); } @Test @@ -257,13 +231,9 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); - client.getCatalogClient().deleteCatalogItem(catalogItemReference); + client.getCatalogClient().deleteCatalogItem(catalogItemURI); } @Test @@ -284,11 +254,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); Metadata expected = Metadata.builder() .type("application/vnd.vmware.vcloud.metadata+xml") @@ -301,7 +267,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT .entries(ImmutableSet.of(itemMetadataEntry())) .build(); - assertEquals(client.getCatalogClient().getMetadataClient().getMetadata(catalogItemReference), expected); + assertEquals(client.getCatalogClient().getMetadataClient().getMetadata(catalogItemURI), expected); } @Test @@ -323,17 +289,13 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); Metadata metadata = Metadata.builder().entry(MetadataEntry.builder().entry("KEY", "VALUE").build()).build(); Task expected = mergeMetadataTask(); - assertEquals(client.getCatalogClient().getMetadataClient().mergeMetadata(catalogItemReference, metadata), expected); + assertEquals(client.getCatalogClient().getMetadataClient().mergeMetadata(catalogItemURI, metadata), expected); } @Test @@ -353,16 +315,12 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT .build(); VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); + + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); MetadataValue expected = itemMetadataValue(); - assertEquals(client.getCatalogClient().getMetadataClient().getMetadataValue(catalogItemReference, "KEY"), expected); + assertEquals(client.getCatalogClient().getMetadataClient().getMetadataValue(catalogItemURI, "KEY"), expected); } @Test @@ -384,17 +342,13 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); MetadataValue value = MetadataValue.builder().value("KITTENS").build(); Task expected = setMetadataValueTask(); - assertEquals(client.getCatalogClient().getMetadataClient().setMetadata(catalogItemReference, "KEY", value), expected); + assertEquals(client.getCatalogClient().getMetadataClient().setMetadata(catalogItemURI, "KEY", value), expected); } @Test @@ -415,15 +369,11 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, catalogItemRequest, catalogItemResponse); - Reference catalogItemReference = Reference.builder() - .type("application/vnd.vmware.vcloud.catalogItem+xml") - .name("ubuntu10") - .href(URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df")) - .build(); + URI catalogItemURI = URI.create("https://vcloudbeta.bluelock.com/api/catalogItem/a36fdac9-b8c2-43e2-9a4c-2ffaf3ee13df"); Task expected = deleteMetadataEntryTask(); - assertEquals(client.getCatalogClient().getMetadataClient().deleteMetadataEntry(catalogItemReference, "KEY"), expected); + assertEquals(client.getCatalogClient().getMetadataClient().deleteMetadataEntry(catalogItemURI, "KEY"), expected); } public static final Catalog catalog() { diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientLiveTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientLiveTest.java index 7cdf8e37f9..92090b6671 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientLiveTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/CatalogClientLiveTest.java @@ -31,6 +31,8 @@ import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; +import java.net.URI; + import org.jclouds.vcloud.director.v1_5.VCloudDirectorException; import org.jclouds.vcloud.director.v1_5.domain.Catalog; import org.jclouds.vcloud.director.v1_5.domain.CatalogItem; @@ -91,14 +93,14 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { CatalogReferences catalogReferences = queryClient.catalogReferencesQuery(String.format("name==%s", catalogName)); assertEquals(Iterables.size(catalogReferences.getReferences()), 1, String.format(MUST_EXIST_FMT, catalogName, "Catalog")); catalogRef = Iterables.getOnlyElement(catalogReferences.getReferences()); - catalog = catalogClient.getCatalog(catalogRef); + catalog = catalogClient.getCatalog(catalogRef.getHref()); } @Test(testName = "GET /catalogItem/{id}", dependsOnMethods = { "testGetCatalog" }) public void testGetCatalogItem() { assertFalse(Iterables.isEmpty(catalog.getCatalogItems().getCatalogItems())); catalogItemRef = Iterables.get(catalog.getCatalogItems().getCatalogItems(), 0); - catalogItem = catalogClient.getCatalogItem(catalogItemRef); + catalogItem = catalogClient.getCatalogItem(catalogItemRef.getHref()); checkCatalogItem(catalogItem); } @@ -114,14 +116,14 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { // XXX org.jclouds.vcloud.director.v1_5.VCloudDirectorException: Error: The VCD entity ubuntu10 already exists. // .entity(Reference.builder().href(URI.create(endpoint + "/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9")).build()) .build(); - newCatalogItem = catalogClient.addCatalogItem(catalogRef, editedCatalogItem); + newCatalogItem = catalogClient.addCatalogItem(catalogRef.getHref(), editedCatalogItem); checkCatalogItem(newCatalogItem); assertEquals(newCatalogItem.getName(), "newitem"); } @Test(testName = "PUT /catalogItem/{id}", dependsOnMethods = { "testAddCatalogItem" }, enabled = false) public void testUpdateCatalogItem() { - Catalog catalog = catalogClient.getCatalog(catalogRef); + Catalog catalog = catalogClient.getCatalog(catalogRef.getHref()); newCatalogItemRef = Iterables.find(catalog.getCatalogItems().getCatalogItems(), new Predicate() { @Override public boolean apply(Reference input) { @@ -129,16 +131,16 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { } }); CatalogItem updatedCatalogItem = CatalogItem.builder().fromCatalogItem(catalogItem).name("UPDATEDNAME").build(); - newCatalogItem = catalogClient.updateCatalogItem(catalogRef, updatedCatalogItem); + newCatalogItem = catalogClient.updateCatalogItem(catalogRef.getHref(), updatedCatalogItem); checkCatalogItem(newCatalogItem); assertEquals(newCatalogItem.getName(), "UPDATEDNAME"); } @Test(testName = "DELETE /catalogItem/{id}", dependsOnMethods = { "testAddCatalogItem" }, enabled = false) public void testDeleteCatalogItem() { - catalogClient.deleteCatalogItem(newCatalogItemRef); + catalogClient.deleteCatalogItem(newCatalogItemRef.getHref()); try { - catalogClient.getCatalogItem(newCatalogItemRef); + catalogClient.getCatalogItem(newCatalogItemRef.getHref()); fail("The CatalogItem should have been deleted"); } catch (VCloudDirectorException vcde) { checkError(vcde.getError()); @@ -150,7 +152,7 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { // NOTE for this test to work, we need to be able to create metadata on a Catalog, specifically { "KEY", "VALUE" } @Test(testName = "GET /catalog/{id}/metadata", dependsOnMethods = { "testGetCatalog" }, enabled = false) public void testGetCatalogMetadata() { - catalogMetadata = catalogClient.getMetadataClient().getMetadata(catalogRef); + catalogMetadata = catalogClient.getMetadataClient().getMetadata(catalogRef.getHref()); checkMetadata(catalogMetadata); } @@ -163,7 +165,7 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { return input.getKey().equals("KEY"); } }); - MetadataValue metadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogRef, "KEY"); + MetadataValue metadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogRef.getHref(), "KEY"); assertEquals(metadataValue.getValue(), existingMetadataEntry.getValue(), String.format(CORRECT_VALUE_OBJECT_FMT, "Value", "MetadataValue", existingMetadataEntry.getValue(), metadataValue.getValue())); checkMetadataValue(metadataValue); @@ -171,8 +173,8 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /catalogItem/{id}/metadata", dependsOnMethods = { "testGetCatalogItem" }) public void testGetCatalogItemMetadata() { - resetCatalogItemMetadata(catalogItemRef); - catalogItemMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef); + resetCatalogItemMetadata(catalogItemRef.getHref()); + catalogItemMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef.getHref()); assertEquals(catalogItemMetadata.getMetadataEntries().size(), 1, String.format(MUST_EXIST_FMT, "MetadataEntry", "CatalogItem")); checkMetadata(catalogItemMetadata); } @@ -184,22 +186,22 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { .entry(MetadataEntry.builder().entry("VEGIMITE", "VALUE").build()) .build(); - Task mergeCatalogItemMetadata = catalogClient.getMetadataClient().mergeMetadata(catalogItemRef, newMetadata); + Task mergeCatalogItemMetadata = catalogClient.getMetadataClient().mergeMetadata(catalogItemRef.getHref(), newMetadata); checkTask(mergeCatalogItemMetadata); assertTrue(retryTaskSuccess.apply(mergeCatalogItemMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeCatalogItemMetadata")); - Metadata mergedCatalogItemMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef); + Metadata mergedCatalogItemMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef.getHref()); // XXX assertEquals(mergedCatalogItemMetadata.getMetadataEntries().size(), catalogItemMetadata.getMetadataEntries().size() + 1, "Should have added another MetadataEntry to the CatalogItem"); - MetadataValue keyMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY"); + MetadataValue keyMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef.getHref(), "KEY"); // XXX assertEquals(keyMetadataValue.getValue(), "MARMALADE", "The Value of the MetadataValue for KEY should have changed"); checkMetadataValue(keyMetadataValue); - MetadataValue newKeyMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "VEGIMITE"); + MetadataValue newKeyMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef.getHref(), "VEGIMITE"); // XXX assertEquals(newKeyMetadataValue.getValue(), "VALUE", "The Value of the MetadataValue for NEW_KEY should have been set"); checkMetadataValue(newKeyMetadataValue); @@ -215,7 +217,7 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { return input.getKey().equals("KEY"); } }); - MetadataValue metadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY"); + MetadataValue metadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef.getHref(), "KEY"); assertEquals(existingMetadataEntry.getValue(), metadataValue.getValue()); checkMetadataValue(metadataValue); } @@ -224,13 +226,13 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { public void testSetCatalogItemMetadataValue() { MetadataValue newMetadataValue = MetadataValue.builder().value("NEW").build(); - Task setCatalogItemMetadataValue = catalogClient.getMetadataClient().setMetadata(catalogItemRef, "KEY", newMetadataValue); + Task setCatalogItemMetadataValue = catalogClient.getMetadataClient().setMetadata(catalogItemRef.getHref(), "KEY", newMetadataValue); checkTask(setCatalogItemMetadataValue); Checks.checkTask(setCatalogItemMetadataValue); assertTrue(retryTaskSuccess.apply(setCatalogItemMetadataValue), String.format(TASK_COMPLETE_TIMELY, "setCatalogItemMetadataValue")); - MetadataValue updatedMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY"); + MetadataValue updatedMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef.getHref(), "KEY"); assertEquals(updatedMetadataValue.getValue(), newMetadataValue.getValue(), String.format(CORRECT_VALUE_OBJECT_FMT, "Value", "MetadataValue", newMetadataValue.getValue(), updatedMetadataValue.getValue())); checkMetadataValue(updatedMetadataValue); @@ -238,13 +240,13 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "DELETE /catalog/{id}/metadata/{key}", dependsOnMethods = { "testSetCatalogItemMetadataValue" }) public void testDeleteCatalogItemMetadataValue() { - Task deleteCatalogItemMetadataValue = catalogClient.getMetadataClient().deleteMetadataEntry(catalogItemRef, "KEY"); + Task deleteCatalogItemMetadataValue = catalogClient.getMetadataClient().deleteMetadataEntry(catalogItemRef.getHref(), "KEY"); checkTask(deleteCatalogItemMetadataValue); Checks.checkTask(deleteCatalogItemMetadataValue); assertTrue(retryTaskSuccess.apply(deleteCatalogItemMetadataValue), String.format(TASK_COMPLETE_TIMELY, "deleteCatalogItemMetadataValue")); try { - catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY"); + catalogClient.getMetadataClient().getMetadataValue(catalogItemRef.getHref(), "KEY"); fail("The CatalogItem MetadataValue for KEY should have been deleted"); } catch (VCloudDirectorException vcde) { Error error = vcde.getError(); @@ -255,19 +257,19 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest { } } - private void deleteAllCatalogItemMetadata(ReferenceType catalogItemRef) { - Metadata currentMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef); + private void deleteAllCatalogItemMetadata(URI catalogItemURI) { + Metadata currentMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemURI); for (MetadataEntry currentMetadataEntry : currentMetadata.getMetadataEntries()) { - catalogClient.getMetadataClient().deleteMetadataEntry(catalogItemRef, currentMetadataEntry.getKey()); + catalogClient.getMetadataClient().deleteMetadataEntry(catalogItemURI, currentMetadataEntry.getKey()); } - Metadata emptyMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef); + Metadata emptyMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemURI); assertTrue(emptyMetadata.getMetadataEntries().isEmpty(), "The catalogItem Metadata should be empty"); } - private void resetCatalogItemMetadata(ReferenceType catalogItemRef) { - deleteAllCatalogItemMetadata(catalogItemRef); + private void resetCatalogItemMetadata(URI catalogItemURI) { + deleteAllCatalogItemMetadata(catalogItemURI); Metadata newMetadata = Metadata.builder().entry(MetadataEntry.builder().entry("KEY", "VALUE").build()).build(); - Task mergeCatalogItemMetadata = catalogClient.getMetadataClient().mergeMetadata(catalogItemRef, newMetadata); + Task mergeCatalogItemMetadata = catalogClient.getMetadataClient().mergeMetadata(catalogItemURI, newMetadata); Checks.checkTask(mergeCatalogItemMetadata); assertTrue(retryTaskSuccess.apply(mergeCatalogItemMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeCatalogItemMetadata")); diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientExpectTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientExpectTest.java index 3a0be0a75d..00d2f18ee4 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientExpectTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientExpectTest.java @@ -26,19 +26,8 @@ import java.net.URI; import org.jclouds.vcloud.director.v1_5.VCloudDirectorClient; import org.jclouds.vcloud.director.v1_5.VCloudDirectorException; import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType; -import org.jclouds.vcloud.director.v1_5.domain.CloneMediaParams; +import org.jclouds.vcloud.director.v1_5.domain.*; import org.jclouds.vcloud.director.v1_5.domain.Error; -import org.jclouds.vcloud.director.v1_5.domain.File; -import org.jclouds.vcloud.director.v1_5.domain.FilesList; -import org.jclouds.vcloud.director.v1_5.domain.Link; -import org.jclouds.vcloud.director.v1_5.domain.Media; -import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.MetadataEntry; -import org.jclouds.vcloud.director.v1_5.domain.MetadataValue; -import org.jclouds.vcloud.director.v1_5.domain.Owner; -import org.jclouds.vcloud.director.v1_5.domain.Reference; -import org.jclouds.vcloud.director.v1_5.domain.Task; -import org.jclouds.vcloud.director.v1_5.domain.TasksInProgress; import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorRestClientExpectTest; import org.testng.annotations.Test; @@ -73,9 +62,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .build(); Media expected = createMedia(); - Reference vdcRef = Reference.builder().href(vdcUri).build(); - - assertEquals(client.getVdcClient().createMedia(vdcRef, source), expected); + assertEquals(client.getVdcClient().createMedia(vdcUri, source), expected); } @Test @@ -96,18 +83,16 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .name("moved test media") .description("moved by testCloneMedia()") .source(Reference.builder() - .type("application/vnd.vmware.vcloud.media+xml") - .name("copied test media") - .id("urn:vcloud:media:da8361af-cccd-4103-a71c-493513c49094") - .href(URI.create("https://mycloud.greenhousedata.com/api/media/da8361af-cccd-4103-a71c-493513c49094")) - .build()) + .type("application/vnd.vmware.vcloud.media+xml") + .name("copied test media") + .id("urn:vcloud:media:da8361af-cccd-4103-a71c-493513c49094") + .href(URI.create("https://mycloud.greenhousedata.com/api/media/da8361af-cccd-4103-a71c-493513c49094")) + .build()) .isSourceDelete(false) .build(); Media expected = cloneMedia(); - Reference vdcRef = Reference.builder().href(vdcUri).build(); - - assertEquals(client.getVdcClient().cloneMedia(vdcRef, params), expected); + assertEquals(client.getVdcClient().cloneMedia(vdcUri, params), expected); } @Test @@ -124,10 +109,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .httpResponseBuilder().build()); Media expected = getMedia(); - - Reference mediaRef = Reference.builder().href(mediaUri).build(); - - assertEquals(client.getMediaClient().getMedia(mediaRef), expected); + assertEquals(client.getMediaClient().getMedia(mediaUri), expected); } @Test @@ -148,11 +130,9 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .majorErrorCode(400) .minorErrorCode("BAD_REQUEST") .build(); - - Reference mediaRef = Reference.builder().href(mediaUri).build(); - + try { - client.getMediaClient().getMedia(mediaRef); + client.getMediaClient().getMedia(mediaUri); fail("Should give HTTP 400 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -179,11 +159,9 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .majorErrorCode(403) .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - - Reference mediaRef = Reference.builder().href(mediaUri).build(); - + try { - client.getMediaClient().getMedia(mediaRef); + client.getMediaClient().getMedia(mediaUri); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -210,11 +188,9 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .majorErrorCode(403) .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - - Reference mediaRef = Reference.builder().href(mediaUri).build(); - + try { - client.getMediaClient().getMedia(mediaRef); + client.getMediaClient().getMedia(mediaUri); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -239,9 +215,8 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes Media update = updateMedia(); Task expected = updateMediaTask(); - Reference mediaRef = Reference.builder().href(mediaUri).build(); - - assertEquals(client.getMediaClient().updateMedia(mediaRef, update), expected); + + assertEquals(client.getMediaClient().updateMedia(mediaUri, update), expected); } @Test @@ -258,9 +233,8 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .httpResponseBuilder().build()); Task expected = deleteMediaTask(); - Reference mediaRef = Reference.builder().href(mediaUri).build(); - assertEquals(client.getMediaClient().deleteMedia(mediaRef), expected); + assertEquals(client.getMediaClient().deleteMedia(mediaUri), expected); } @Test @@ -276,11 +250,10 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .xmlFilePayload("/media/metadata.xml", VCloudDirectorMediaType.METADATA) .httpResponseBuilder().build()); - Reference mediaRef = Reference.builder().href(mediaUri).build(); Metadata expected = metadata(); - assertEquals(client.getMediaClient().getMetadataClient().getMetadata(mediaRef), expected); + assertEquals(client.getMediaClient().getMetadataClient().getMetadata(mediaUri), expected); } @Test @@ -297,11 +270,10 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .xmlFilePayload("/media/mergeMetadataTask.xml", VCloudDirectorMediaType.TASK) .httpResponseBuilder().build()); - Reference mediaRef = Reference.builder().href(mediaUri).build(); Metadata inputMetadata = metadata(); Task expectedTask = mergeMetadataTask(); - assertEquals(client.getMediaClient().getMetadataClient().mergeMetadata(mediaRef, inputMetadata), expectedTask); + assertEquals(client.getMediaClient().getMetadataClient().mergeMetadata(mediaUri, inputMetadata), expectedTask); } public void testGetMetadataValue() { @@ -318,9 +290,8 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes MetadataValue expected = metadataValue(); - Reference mediaRef = Reference.builder().href(mediaUri).build(); - assertEquals(client.getMediaClient().getMetadataClient().getMetadataValue(mediaRef, "key"), expected); + assertEquals(client.getMediaClient().getMetadataClient().getMetadataValue(mediaUri, "key"), expected); } @Test @@ -337,12 +308,11 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .xmlFilePayload("/media/setMetadataValueTask.xml", VCloudDirectorMediaType.TASK) .httpResponseBuilder().build()); - Reference mediaRef = Reference.builder().href(mediaUri).build(); MetadataValue inputMetadataValue = MetadataValue.builder().value("value").build(); Task expectedTask = setMetadataEntryTask(); - assertEquals(client.getMediaClient().getMetadataClient().setMetadata(mediaRef, "key", inputMetadataValue), expectedTask); + assertEquals(client.getMediaClient().getMetadataClient().setMetadata(mediaUri, "key", inputMetadataValue), expectedTask); } @Test @@ -358,10 +328,9 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .xmlFilePayload("/media/deleteMetadataEntryTask.xml", VCloudDirectorMediaType.TASK) .httpResponseBuilder().build()); - Reference mediaRef = Reference.builder().href(mediaUri).build(); Task expectedTask = deleteMetadataEntryTask(); - assertEquals(client.getMediaClient().getMetadataClient().deleteMetadataEntry(mediaRef, "key"), expectedTask); + assertEquals(client.getMediaClient().getMetadataClient().deleteMetadataEntry(mediaUri, "key"), expectedTask); } @Test @@ -379,9 +348,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes Owner expected = owner(); - Reference mediaRef = Reference.builder().href(mediaUri).build(); - - assertEquals(client.getMediaClient().getOwner(mediaRef), expected); + assertEquals(client.getMediaClient().getOwner(mediaUri), expected); } private static Media createMedia() { @@ -482,10 +449,10 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes .id("urn:vcloud:media:794eb334-754e-4917-b5a0-5df85cbd61d1") .href(URI.create("https://mycloud.greenhousedata.com/api/media/794eb334-754e-4917-b5a0-5df85cbd61d1")) .link(Link.builder() - .rel("up") - .type("application/vnd.vmware.vcloud.vdc+xml") - .href(URI.create("https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f")) - .build()) + .rel("up") + .type("application/vnd.vmware.vcloud.vdc+xml") + .href(URI.create("https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f")) + .build()) .link(Link.builder() .rel("catalogItem") .type("application/vnd.vmware.vcloud.catalogItem+xml") diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientLiveTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientLiveTest.java index 84ace497cf..466f799544 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientLiveTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/MediaClientLiveTest.java @@ -63,19 +63,14 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { * Convenience references to API clients. */ - private URISupplier vdcRef; + private URI vdcUri; protected VdcClient vdcClient; protected MediaClient mediaClient; @BeforeClass(inheritGroups = true) @Override public void setupRequiredClients() { - vdcRef = Reference.builder() - .type("application/vnd.vmware.vcloud.vdc+xml") - .name("") - .href(URI.create(endpoint+"/vdc/"+vdcId)) - .id(vdcId) - .build(); + vdcUri = URI.create(endpoint+"/vdc/"+vdcId); vdcClient = context.getApi().getVdcClient(); mediaClient = context.getApi().getMediaClient(); @@ -92,8 +87,8 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "POST /vdc/{id}/media", enabled = false) public void testCreateMedia() throws URISyntaxException { - assertNotNull(vdcRef, String.format(REF_REQ_LIVE, VDC)); - assertNotNull(vdcClient.getVdc(vdcRef), String.format(OBJ_REQ_LIVE, VDC)); + assertNotNull(vdcUri, String.format(REF_REQ_LIVE, VDC)); + assertNotNull(vdcClient.getVdc(vdcUri), String.format(OBJ_REQ_LIVE, VDC)); java.io.File sourceFile = new java.io.File(getClass().getResource("/media/test.iso").toURI()); @@ -104,7 +99,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { .imageType(Media.ImageType.ISO) .description("Test media generated by testCreateMedia()") .build(); - media = vdcClient.createMedia(vdcRef, sourceMedia); + media = vdcClient.createMedia(vdcUri, sourceMedia); Checks.checkMediaFor(MEDIA, media); @@ -124,12 +119,12 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { assertTrue(equal(uploadLink.getRel(), Link.Rel.UPLOAD_DEFAULT), String.format(OBJ_FIELD_REQ, MEDIA, "uploadFile.links.first")); fail(); //TODO upload file and assert it succeeds - context.getApi().getUploadClient().uploadFile(uploadLink, sourceFile); + context.getApi().getUploadClient().uploadFile(uploadLink.getHref(), sourceFile); } @Test(testName = "GET /media/{id}", dependsOnMethods = { "testCreateMedia" }, enabled = false) public void testGetMedia() { - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); assertNotNull(media, String.format(OBJ_REQ_LIVE, MEDIA)); owner = media.getOwner(); @@ -142,7 +137,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /media/{id}/owner", dependsOnMethods = { "testGetMedia" }, enabled = false) public void testGetMediaOwner() { - Owner directOwner = mediaClient.getOwner(media); + Owner directOwner = mediaClient.getOwner(media.getHref()); assertEquals(owner, directOwner, String.format(GETTER_RETURNS_SAME_OBJ, "getOwner()", "owner", "media.getOwner()", owner.toString(), directOwner.toString())); @@ -158,7 +153,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { dependsOnMethods = { "testGetMediaOwner" }, enabled = false) public void testCloneMedia() { oldMedia = media; - media = vdcClient.cloneMedia(vdcRef, CloneMediaParams.builder() + media = vdcClient.cloneMedia(vdcUri, CloneMediaParams.builder() .source(Reference.builder().fromEntity(media).build()) .name("copied test media") .description("copied by testCloneMedia()") @@ -171,7 +166,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { if (copyTask != null) { Checks.checkTask(copyTask); assertTrue(retryTaskSuccess.apply(copyTask), String.format(TASK_COMPLETE_TIMELY, "copyTask")); - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); } } @@ -179,9 +174,9 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { assertTrue(media.clone(oldMedia), String.format(OBJ_FIELD_CLONE, MEDIA, "copied media", media.toString(), oldMedia.toString())); - mediaClient.getMetadataClient().setMetadata(media, "key", MetadataValue.builder().value("value").build()); + mediaClient.getMetadataClient().setMetadata(media.getHref(), "key", MetadataValue.builder().value("value").build()); - media = vdcClient.cloneMedia(vdcRef, CloneMediaParams.builder() + media = vdcClient.cloneMedia(vdcUri, CloneMediaParams.builder() .source(Reference.builder().fromEntity(media).build()) .name("moved test media") .description("moved by testCloneMedia()") @@ -195,7 +190,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { if (copyTask != null) { Checks.checkTask(copyTask); assertTrue(retryTaskSuccess.apply(copyTask), String.format(TASK_COMPLETE_TIMELY, "copyTask")); - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); } } @@ -213,10 +208,10 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { String newDescription = "new "+oldDescription; media = media.toBuilder().name(newName).description(newDescription).build(); - Task updateMedia = mediaClient.updateMedia(media, media); + Task updateMedia = mediaClient.updateMedia(media.getHref(), media); Checks.checkTask(updateMedia); assertTrue(retryTaskSuccess.apply(updateMedia), String.format(TASK_COMPLETE_TIMELY, "updateMedia")); - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); assertTrue(equal(media.getName(), newName), String.format(OBJ_FIELD_UPDATABLE, MEDIA, "name")); assertTrue(equal(media.getDescription(), newDescription), @@ -228,16 +223,16 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { media = media.toBuilder().name(oldName).description(oldDescription).build(); - updateMedia = mediaClient.updateMedia(media, media); + updateMedia = mediaClient.updateMedia(media.getHref(), media); Checks.checkTask(updateMedia); assertTrue(retryTaskSuccess.apply(updateMedia), String.format(TASK_COMPLETE_TIMELY, "updateMedia")); - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); } @Test(testName = "GET /media/{id}/metadata", dependsOnMethods = { "testGetMedia" }, enabled = false) public void testGetMetadata() { - metadata = mediaClient.getMetadataClient().getMetadata(media); + metadata = mediaClient.getMetadataClient().getMetadata(media.getHref()); // required for testing assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()), String.format(OBJ_FIELD_REQ_LIVE, MEDIA, "metadata.entries")); @@ -254,14 +249,14 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { .entries(inputEntries) .build(); - Task mergeMetadata = mediaClient.getMetadataClient().mergeMetadata(media, inputMetadata); + Task mergeMetadata = mediaClient.getMetadataClient().mergeMetadata(media.getHref(), inputMetadata); Checks.checkTask(mergeMetadata); assertTrue(retryTaskSuccess.apply(mergeMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeMetadata(new)")); - metadata = mediaClient.getMetadataClient().getMetadata(media); + metadata = mediaClient.getMetadataClient().getMetadata(media.getHref()); Checks.checkMetadataFor(MEDIA, metadata); checkMetadataContainsEntries(metadata, inputEntries); - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); Checks.checkMediaFor(MEDIA, media); // test modify @@ -270,14 +265,14 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { .entries(inputEntries) .build(); - mergeMetadata = mediaClient.getMetadataClient().mergeMetadata(media, inputMetadata); + mergeMetadata = mediaClient.getMetadataClient().mergeMetadata(media.getHref(), inputMetadata); Checks.checkTask(mergeMetadata); assertTrue(retryTaskSuccess.apply(mergeMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeMetadata(modify)")); - metadata = mediaClient.getMetadataClient().getMetadata(media); + metadata = mediaClient.getMetadataClient().getMetadata(media.getHref()); Checks.checkMetadataFor(MEDIA, metadata); checkMetadataContainsEntries(metadata, inputEntries); - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); Checks.checkMediaFor(MEDIA, media); } @@ -301,7 +296,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /media/{id}/metadata/{key}", dependsOnMethods = { "testMergeMetadata" }, enabled = false) public void testGetMetadataValue() { - metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "key"); + metadataValue = mediaClient.getMetadataClient().getMetadataValue(media.getHref(), "key"); Checks.checkMetadataValueFor(MEDIA, metadataValue); } @@ -311,18 +306,18 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { metadataEntryValue = "newValue"; MetadataValue newValue = MetadataValue.builder().value(metadataEntryValue).build(); - Task setMetadataEntry = mediaClient.getMetadataClient().setMetadata(media, "key", newValue); + Task setMetadataEntry = mediaClient.getMetadataClient().setMetadata(media.getHref(), "key", newValue); Checks.checkTask(setMetadataEntry); assertTrue(retryTaskSuccess.apply(setMetadataEntry), String.format(TASK_COMPLETE_TIMELY, "setMetadataEntry")); - metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "key"); + metadataValue = mediaClient.getMetadataClient().getMetadataValue(media.getHref(), "key"); Checks.checkMetadataValueFor(MEDIA, metadataValue); } @Test(testName = "DELETE /media/{id}/metadata/{key}", dependsOnMethods = { "testSetMetadataValue" }, enabled = false ) public void testDeleteMetadata() { - Task deleteMetadataEntry = mediaClient.getMetadataClient().deleteMetadataEntry(media, "testKey"); + Task deleteMetadataEntry = mediaClient.getMetadataClient().deleteMetadataEntry(media.getHref(), "testKey"); Checks.checkTask(deleteMetadataEntry); assertTrue(retryTaskSuccess.apply(deleteMetadataEntry), String.format(TASK_COMPLETE_TIMELY, "deleteMetadataEntry")); @@ -334,7 +329,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { .build(); try { - metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "testKey"); + metadataValue = mediaClient.getMetadataClient().getMetadataValue(media.getHref(), "testKey"); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -349,17 +344,17 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { "metadataEntry", metadataValue.toString())); } - metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "key"); + metadataValue = mediaClient.getMetadataClient().getMetadataValue(media.getHref(), "key"); Checks.checkMetadataValueFor(MEDIA, metadataValue); - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); Checks.checkMediaFor(MEDIA, media); } @Test(testName = "DELETE /media/{id}", dependsOnMethods = { "testDeleteMetadata" }, enabled = false ) public void testDeleteMedia() { - Task deleteMedia = mediaClient.deleteMedia(media); + Task deleteMedia = mediaClient.deleteMedia(media.getHref()); Checks.checkTask(deleteMedia); assertTrue(retryTaskSuccess.apply(deleteMedia), String.format(TASK_COMPLETE_TIMELY, "deleteMedia")); @@ -373,7 +368,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { .build(); try { - media = mediaClient.getMedia(media); + media = mediaClient.getMedia(media.getHref()); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -386,7 +381,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest { assertNull(metadataValue, String.format(OBJ_DEL, MEDIA, media.toString())); } - deleteMedia = mediaClient.deleteMedia(oldMedia); + deleteMedia = mediaClient.deleteMedia(oldMedia.getHref()); Checks.checkTask(deleteMedia); } } diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientExpectTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientExpectTest.java index fecbe925b4..a402151636 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientExpectTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientExpectTest.java @@ -27,17 +27,7 @@ import org.jclouds.vcloud.director.v1_5.VCloudDirectorClient; import org.jclouds.vcloud.director.v1_5.VCloudDirectorException; import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType; import org.jclouds.vcloud.director.v1_5.domain.Error; -import org.jclouds.vcloud.director.v1_5.domain.IpAddresses; -import org.jclouds.vcloud.director.v1_5.domain.IpRange; -import org.jclouds.vcloud.director.v1_5.domain.IpRanges; -import org.jclouds.vcloud.director.v1_5.domain.IpScope; -import org.jclouds.vcloud.director.v1_5.domain.Link; -import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.MetadataEntry; -import org.jclouds.vcloud.director.v1_5.domain.NetworkConfiguration; -import org.jclouds.vcloud.director.v1_5.domain.OrgNetwork; -import org.jclouds.vcloud.director.v1_5.domain.Reference; -import org.jclouds.vcloud.director.v1_5.domain.SyslogServerSettings; +import org.jclouds.vcloud.director.v1_5.domain.*; import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorRestClientExpectTest; import org.testng.annotations.Test; @@ -60,10 +50,7 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT getStandardPayloadResponse("/network/network.xml", VCloudDirectorMediaType.ORG_NETWORK)); OrgNetwork expected = orgNetwork(); - - Reference networkRef = Reference.builder().href(networkUri).build(); - - assertEquals(client.getNetworkClient().getNetwork(networkRef), expected); + assertEquals(client.getNetworkClient().getNetwork(networkUri), expected); } @Test @@ -80,9 +67,8 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT .minorErrorCode("BAD_REQUEST") .build(); - Reference networkRef = Reference.builder().href(networkUri).build(); try { - client.getNetworkClient().getNetwork(networkRef); + client.getNetworkClient().getNetwork(networkUri); fail("Should give HTTP 400 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -105,10 +91,8 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - Reference networkRef = Reference.builder().href(networkUri).build(); - try { - client.getNetworkClient().getNetwork(networkRef); + client.getNetworkClient().getNetwork(networkUri); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -131,10 +115,8 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - Reference networkRef = Reference.builder().href(networkUri).build(); - try { - client.getNetworkClient().getNetwork(networkRef); + client.getNetworkClient().getNetwork(networkUri); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -166,10 +148,8 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT .build()) .entries(ImmutableSet.of(MetadataEntry.builder().entry("key", "value").build())) .build(); - - Reference networkRef = Reference.builder().href(networkUri).build(); - assertEquals(client.getNetworkClient().getMetadataClient().getMetadata(networkRef), expected); + assertEquals(client.getNetworkClient().getMetadataClient().getMetadata(networkUri), expected); } @Test(enabled=false) // No metadata in exemplar xml... @@ -184,9 +164,7 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT .entry("key", "value") .build(); - Reference networkRef = Reference.builder().href(networkUri).build(); - - assertEquals(client.getNetworkClient().getMetadataClient().getMetadataValue(networkRef, "KEY"), expected); + assertEquals(client.getNetworkClient().getMetadataClient().getMetadataValue(networkUri, "KEY"), expected); } public static OrgNetwork orgNetwork() { diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientLiveTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientLiveTest.java index bbed422499..d7614abbe7 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientLiveTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/NetworkClientLiveTest.java @@ -18,11 +18,7 @@ */ package org.jclouds.vcloud.director.v1_5.features; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_ATTRB_REQ; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_EQ; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_REQ_LIVE; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_REQ_LIVE; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.REF_REQ_LIVE; +import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.*; import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkResourceType; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; @@ -37,7 +33,6 @@ import org.jclouds.vcloud.director.v1_5.domain.Metadata; import org.jclouds.vcloud.director.v1_5.domain.MetadataEntry; import org.jclouds.vcloud.director.v1_5.domain.MetadataValue; import org.jclouds.vcloud.director.v1_5.domain.OrgNetwork; -import org.jclouds.vcloud.director.v1_5.domain.Reference; import org.jclouds.vcloud.director.v1_5.domain.ReferenceType; import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTest; import org.testng.annotations.BeforeClass; @@ -60,26 +55,21 @@ public class NetworkClientLiveTest extends BaseVCloudDirectorClientLiveTest { */ protected NetworkClient networkClient; - private Reference networkRef; + private URI networkURI; @BeforeClass(inheritGroups = true) @Override public void setupRequiredClients() { - networkRef = Reference.builder() - .type("application/vnd.vmware.vcloud.orgNetwork+xml") - .name("") - .href(URI.create(endpoint+"/network/"+networkId)) - .id(networkId) - .build(); + networkURI = URI.create(endpoint+"/network/"+networkId); networkClient = context.getApi().getNetworkClient(); } @Test(testName = "GET /network/{id}") public void testGetNetwork() { // required for testing - assertNotNull(networkRef, String.format(REF_REQ_LIVE, NETWORK)); + assertNotNull(networkURI, String.format(REF_REQ_LIVE, NETWORK)); - OrgNetwork network = networkClient.getNetwork(networkRef); + OrgNetwork network = networkClient.getNetwork(networkURI); assertNotNull(network, String.format(OBJ_REQ_LIVE, NETWORK)); assertTrue(!network.getDescription().equals("DO NOT USE"), "Network isn't to be used for testing"); @@ -100,7 +90,7 @@ public class NetworkClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /network/{id}/metadata") public void testGetMetadata() { - Metadata metadata = networkClient.getMetadataClient().getMetadata(networkRef); + Metadata metadata = networkClient.getMetadataClient().getMetadata(networkURI); // required for testing assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()), String.format(OBJ_FIELD_REQ_LIVE, NETWORK, "metadata.entries")); @@ -122,7 +112,7 @@ public class NetworkClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /network/{id}/metadata/{key}") public void testGetMetadataValue() { - MetadataValue metadataValue = networkClient.getMetadataClient().getMetadataValue(networkRef, "key"); + MetadataValue metadataValue = networkClient.getMetadataClient().getMetadataValue(networkURI, "key"); // Check parent type checkResourceType(metadataValue); diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientExpectTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientExpectTest.java index 67242bafc2..4dfa409e9b 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientExpectTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientExpectTest.java @@ -79,7 +79,7 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest Org expected = org(); - assertEquals(client.getOrgClient().getOrg(org), expected); + assertEquals(client.getOrgClient().getOrg(org.getHref()), expected); } @Test @@ -92,9 +92,7 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest Org expected = org(); - Reference orgRef = Reference.builder().href(orgUri).build(); - - assertEquals(client.getOrgClient().getOrg(orgRef), expected); + assertEquals(client.getOrgClient().getOrg(orgUri), expected); } @Test @@ -111,9 +109,8 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .minorErrorCode("BAD_REQUEST") .build(); - Reference orgRef = Reference.builder().href(orgUri).build(); try { - client.getOrgClient().getOrg(orgRef); + client.getOrgClient().getOrg(orgUri); fail("Should give HTTP 400 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -136,10 +133,8 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - Reference orgRef = Reference.builder().href(orgUri).build(); - try { - client.getOrgClient().getOrg(orgRef); + client.getOrgClient().getOrg(orgUri); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -162,10 +157,8 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - Reference orgRef = Reference.builder().href(orgUri).build(); - try { - client.getOrgClient().getOrg(orgRef); + client.getOrgClient().getOrg(orgUri); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -197,10 +190,8 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build()) .entries(ImmutableSet.of(metadataEntry())) .build(); - - Reference orgRef = Reference.builder().href(orgUri).build(); - assertEquals(client.getOrgClient().getMetadataClient().getMetadata(orgRef), expected); + assertEquals(client.getOrgClient().getMetadataClient().getMetadata(orgUri), expected); } @Test @@ -218,9 +209,7 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest MetadataValue expected = metadataValue(); - Reference orgRef = Reference.builder().href(orgUri).build(); - - assertEquals(client.getOrgClient().getMetadataClient().getMetadataValue(orgRef, "KEY"), expected); + assertEquals(client.getOrgClient().getMetadataClient().getMetadataValue(orgUri, "KEY"), expected); } public static Org org() { diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientLiveTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientLiveTest.java index bd03051da0..9b87ad8ed6 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientLiveTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/OrgClientLiveTest.java @@ -27,6 +27,9 @@ import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkOrg; import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkReferenceType; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertNotNull; + +import java.net.URI; import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType; import org.jclouds.vcloud.director.v1_5.domain.Metadata; @@ -65,7 +68,7 @@ public class OrgClientLiveTest extends BaseVCloudDirectorClientLiveTest { */ private OrgList orgList; - private Reference orgRef; + private URI orgURI; private Org org; @Test(testName = "GET /org/") @@ -86,10 +89,13 @@ public class OrgClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /org/{id}", dependsOnMethods = { "testGetOrgList" }) public void testGetOrg() { - orgRef = Iterables.getFirst(orgList.getOrgs(), null); - + Reference orgRef = Iterables.getFirst(orgList.getOrgs(), null); + assertNotNull(orgRef); + + orgURI = orgRef.getURI(); + // Call the method being tested - org = orgClient.getOrg(orgRef); + org = orgClient.getOrg(orgURI); checkOrg(org); } @@ -97,7 +103,7 @@ public class OrgClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /org/{id}/metadata/", dependsOnMethods = { "testGetOrg" }) public void testGetOrgMetadata() { // Call the method being tested - Metadata metadata = orgClient.getMetadataClient().getMetadata(orgRef); + Metadata metadata = orgClient.getMetadataClient().getMetadata(orgURI); // NOTE The environment MUST have at one metadata entry for the first organisation configured @@ -110,7 +116,7 @@ public class OrgClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /org/{id}/metadata/{key}", dependsOnMethods = { "testGetOrgMetadata" }) public void testGetOrgMetadataValue() { // Call the method being tested - MetadataValue value = orgClient.getMetadataClient().getMetadataValue(orgRef, "KEY"); + MetadataValue value = orgClient.getMetadataClient().getMetadataValue(orgURI, "KEY"); // NOTE The environment MUST have configured the metadata entry as '{ key="KEY", value="VALUE" )' diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientExpectTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientExpectTest.java index dba061c25c..77ac6d25e6 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientExpectTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientExpectTest.java @@ -32,7 +32,6 @@ import org.jclouds.vcloud.director.v1_5.domain.Error; import org.jclouds.vcloud.director.v1_5.domain.Reference; import org.jclouds.vcloud.director.v1_5.domain.Task; import org.jclouds.vcloud.director.v1_5.domain.TasksList; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorRestClientExpectTest; import org.testng.annotations.Test; @@ -86,9 +85,7 @@ public class TaskClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .task(taskTwo()) .build(); - Reference orgRef = Reference.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0")).build(); - - assertEquals(client.getTaskClient().getTaskList(orgRef), expected); + assertEquals(client.getTaskClient().getTaskList(URI.create("https://vcloudbeta.bluelock.com/api/org/6f312e42-cd2b-488d-a2bb-97519cd57ed0")), expected); } @Test @@ -126,10 +123,8 @@ public class TaskClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .minorErrorCode("BAD_REQUEST") .build(); - Reference orgRef = Reference.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/org/NOTAUUID")).build(); - try { - client.getTaskClient().getTaskList(orgRef); + client.getTaskClient().getTaskList(URI.create("https://vcloudbeta.bluelock.com/api/org/NOTAUUID")); fail("Should give HTTP 400 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -173,10 +168,8 @@ public class TaskClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - Reference orgRef = Reference.builder().href(URI.create("https://vcloudbeta.bluelock.com/api/org/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")).build(); - try { - client.getTaskClient().getTaskList(orgRef); + client.getTaskClient().getTaskList(URI.create("https://vcloudbeta.bluelock.com/api/org/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); @@ -203,7 +196,7 @@ public class TaskClientExpectTest extends BaseVCloudDirectorRestClientExpectTest VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, taskRequest, taskResponse); - URISupplier taskUri = URISupplier.SingleURI.fromURI(URI.create(endpoint + "/task/5fcd2af3-d0ec-45ce-9451-8c585a2c766b")); + URI taskUri = URI.create(endpoint + "/task/5fcd2af3-d0ec-45ce-9451-8c585a2c766b"); Task expected = taskOne(); @@ -227,7 +220,7 @@ public class TaskClientExpectTest extends BaseVCloudDirectorRestClientExpectTest VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, taskRequest, taskResponse); - URISupplier taskUri = URISupplier.SingleURI.fromURI(URI.create(endpoint + "/task/5fcd2af3-d0ec-45ce-9451-8c585a2c766b")); + URI taskUri = URI.create(endpoint + "/task/5fcd2af3-d0ec-45ce-9451-8c585a2c766b"); client.getTaskClient().cancelTask(taskUri); } diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientLiveTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientLiveTest.java index 95a412b1df..3b135666ef 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientLiveTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/TaskClientLiveTest.java @@ -21,12 +21,14 @@ package org.jclouds.vcloud.director.v1_5.features; import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.NOT_EMPTY_OBJECT_FMT; import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkTask; import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertNotNull; + +import java.net.URI; import org.jclouds.vcloud.director.v1_5.domain.OrgList; import org.jclouds.vcloud.director.v1_5.domain.Reference; import org.jclouds.vcloud.director.v1_5.domain.Task; import org.jclouds.vcloud.director.v1_5.domain.TasksList; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTest; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -60,18 +62,20 @@ public class TaskClientLiveTest extends BaseVCloudDirectorClientLiveTest { */ private OrgList orgList; - private Reference orgRef; + private URI orgURI; private TasksList taskList; private Task task; - private URISupplier taskRef; + private URI taskURI; @Test(testName = "GET /tasksList/{id}") public void testGetTaskList() { orgList = orgClient.getOrgList(); - orgRef = Iterables.getFirst(orgList.getOrgs(), null); + Reference orgRef = Iterables.getFirst(orgList.getOrgs(), null); + assertNotNull(orgRef); + orgURI = orgRef.getHref(); // Call the method being tested - taskList = taskClient.getTaskList(orgRef); + taskList = taskClient.getTaskList(orgURI); // NOTE The environment MUST have ... @@ -85,10 +89,11 @@ public class TaskClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /task/{id}", dependsOnMethods = { "testGetTaskList" }) public void testGetTask() { - taskRef = Iterables.getFirst(taskList.getTasks(), null); + Task taskRef = Iterables.getFirst(taskList.getTasks(), null); + taskURI = taskRef.getURI(); // Call the method being tested - task = taskClient.getTask(taskRef); + task = taskClient.getTask(taskURI); // Check required elements and attributes checkTask(task); @@ -97,6 +102,6 @@ public class TaskClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /task/{id}/metadata/", dependsOnMethods = { "testGetTask" }) public void testCancelTask() { // Call the method being tested - taskClient.cancelTask(taskRef); + taskClient.cancelTask(taskURI); } } diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClientExpectTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClientExpectTest.java index 99a833caa7..77ee717bb9 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClientExpectTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateClientExpectTest.java @@ -43,7 +43,7 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx public void testVAppTemplate() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("GET", templateId).acceptMedia(VAPP_TEMPLATE).httpRequestBuilder().build(), @@ -55,20 +55,20 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - VAppTemplate template = client.getVAppTemplate(vappTemplateRef); + VAppTemplate template = client.getVAppTemplate(uri); assertEquals(template, exampleTemplate()); - Task task = client.editVAppTemplate(vappTemplateRef, template); + Task task = client.editVAppTemplate(uri, template); assertNotNull(task); - task = client.deleteVappTemplate(vappTemplateRef); + task = client.deleteVappTemplate(uri); assertNotNull(task); } public void testConsolidateVAppTemplate() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/consolidate").acceptMedia(TASK).httpRequestBuilder().build(), @@ -76,13 +76,13 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - Task task = client.consolidateVappTemplate(vappTemplateRef); + Task task = client.consolidateVappTemplate(uri); assertNotNull(task); } public void testDisableDownloadVAppTemplate() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/disableDownload").acceptMedia(TASK).httpRequestBuilder().build(), @@ -90,13 +90,13 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - Task task = client.disableDownloadVappTemplate(vappTemplateRef); + Task task = client.disableDownloadVappTemplate(uri); assertNotNull(task); } public void testEnableDownloadVAppTemplate() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/enableDownload").acceptMedia(TASK).httpRequestBuilder().build(), @@ -104,13 +104,13 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - Task task = client.enableDownloadVappTemplate(vappTemplateRef); + Task task = client.enableDownloadVappTemplate(uri); assertNotNull(task); } public void testRelocateVAppTemplate() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = requestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("POST", templateId + "/action/enableDownload").xmlFilePayload("/vappTemplate/relocateParams.xml", RELOCATE_TEMPLATE).acceptMedia(TASK).httpRequestBuilder().build(), @@ -122,13 +122,13 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx Reference datastore = Reference.builder().href(URI.create("https://vcloud.example.com/api/admin/extension/datastore/607")).build(); RelocateParams params = RelocateParams.builder().datastore(datastore).build(); - Task task = client.relocateVappTemplate(vappTemplateRef, params); + Task task = client.relocateVappTemplate(uri, params); assertNotNull(task); } public void testCustomizationSection() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/customizationSection").acceptMedia(CUSTOMIZATION_SECTION).httpRequestBuilder().build(), @@ -138,17 +138,17 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - CustomizationSection section = client.getVAppTemplateCustomizationSection(vappTemplateRef); + CustomizationSection section = client.getVAppTemplateCustomizationSection(uri); assertEquals(section, exampleCustomizationSection()); - Task task = client.editVAppTemplateCustomizationSection(vappTemplateRef, section); + Task task = client.editVAppTemplateCustomizationSection(uri, section); assertNotNull(task); } public void testGuestCustomizationSection() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/guestCustomizationSection").acceptMedia(GUEST_CUSTOMIZATION_SECTION).httpRequestBuilder().build(), @@ -158,17 +158,17 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - GuestCustomizationSection section = client.getVAppTemplateGuestCustomizationSection(vappTemplateRef); + GuestCustomizationSection section = client.getVAppTemplateGuestCustomizationSection(uri); assertEquals(section, exampleGuestCustomizationSection()); - Task task = client.editVAppTemplateGuestCustomizationSection(vappTemplateRef, section); + Task task = client.editVAppTemplateGuestCustomizationSection(uri, section); assertNotNull(task); } public void testLeaseSettingsSection() throws ParseException { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/leaseSettingsSection").acceptMedia(LEASE_SETTINGS_SECTION).httpRequestBuilder().build(), @@ -178,17 +178,17 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - LeaseSettingsSection section = client.getVappTemplateLeaseSettingsSection(vappTemplateRef); + LeaseSettingsSection section = client.getVappTemplateLeaseSettingsSection(uri); assertEquals(section, exampleLeaseSettingsSection()); - Task task = client.editVappTemplateLeaseSettingsSection(vappTemplateRef, section); + Task task = client.editVappTemplateLeaseSettingsSection(uri, section); assertNotNull(task); } public void testVappTemplateMetadata() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata").acceptMedia(METADATA).httpRequestBuilder().build(), @@ -198,17 +198,17 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - Metadata metadata = client.getVAppTemplateMetadata(vappTemplateRef); + Metadata metadata = client.getVAppTemplateMetadata(uri); assertEquals(metadata, exampleMetadata()); - Task task = client.editVAppTemplateMetadata(vappTemplateRef, metadata); + Task task = client.editVAppTemplateMetadata(uri, metadata); assertNotNull(task); } public void testVappTemplateMetadataValue() { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata/12345").acceptMedia(METADATA_ENTRY).httpRequestBuilder().build(), @@ -220,20 +220,20 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx ).getVAppTemplateClient(); assertNotNull(client); - MetadataValue metadata = client.getVAppTemplateMetadataValue(vappTemplateRef, "12345"); + MetadataValue metadata = client.getVAppTemplateMetadataValue(uri, "12345"); assertEquals(metadata, exampleMetadataValue()); - Task task = client.editVAppTemplateMetadataValue(vappTemplateRef, "12345", metadata); + Task task = client.editVAppTemplateMetadataValue(uri, "12345", metadata); assertNotNull(task); - task = client.deleteVAppTemplateMetadataValue(vappTemplateRef, "12345"); + task = client.deleteVAppTemplateMetadataValue(uri, "12345"); assertNotNull(task); } public void testNetworkConfigSection() throws ParseException { final String templateId = "/vAppTemplate/vAppTemplate/vappTemplate-ef4415e6-d413-4cbb-9262-f9bbec5f2ea9"; - Reference vappTemplateRef = Reference.builder().href(URI.create(endpoint + templateId)).build(); + URI uri = URI.create(endpoint + templateId); VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/networkConfigSection").acceptMedia(NETWORK_CONFIG_SECTION).httpRequestBuilder().build(), @@ -244,11 +244,11 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx assertNotNull(client); - NetworkConfigSection section = client.getVAppTemplateNetworkConfigSection(vappTemplateRef); + NetworkConfigSection section = client.getVAppTemplateNetworkConfigSection(uri); assertEquals(section, exampleNetworkConfigSection()); - Task task = client.editVAppTemplateNetworkConfigSection(vappTemplateRef, section); + Task task = client.editVAppTemplateNetworkConfigSection(uri, section); assertNotNull(task); } diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientExpectTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientExpectTest.java index 2fd8602681..5dee93c46e 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientExpectTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientExpectTest.java @@ -26,27 +26,8 @@ import java.net.URI; import org.jclouds.vcloud.director.v1_5.VCloudDirectorClient; import org.jclouds.vcloud.director.v1_5.VCloudDirectorException; import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType; -import org.jclouds.vcloud.director.v1_5.domain.AvailableNetworks; -import org.jclouds.vcloud.director.v1_5.domain.Capabilities; -import org.jclouds.vcloud.director.v1_5.domain.CapacityWithUsage; -import org.jclouds.vcloud.director.v1_5.domain.CaptureVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.ComposeVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.ComputeCapacity; +import org.jclouds.vcloud.director.v1_5.domain.*; import org.jclouds.vcloud.director.v1_5.domain.Error; -import org.jclouds.vcloud.director.v1_5.domain.InstantiateVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.Link; -import org.jclouds.vcloud.director.v1_5.domain.Media; -import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.MetadataValue; -import org.jclouds.vcloud.director.v1_5.domain.Reference; -import org.jclouds.vcloud.director.v1_5.domain.ResourceEntities; -import org.jclouds.vcloud.director.v1_5.domain.SupportedHardwareVersions; -import org.jclouds.vcloud.director.v1_5.domain.UploadVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.VApp; -import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate; -import org.jclouds.vcloud.director.v1_5.domain.Vdc; import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorRestClientExpectTest; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -59,17 +40,12 @@ import org.testng.annotations.Test; @Test(groups = { "unit", "user", "vdc" }, singleThreaded = true, testName = "VdcClientExpectTest") public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest { - private Reference vdcRef; + private URI vdcURI; @BeforeClass public void before() { String vdcId = "e9cd3387-ac57-4d27-a481-9bee75e0690f"; - vdcRef = Reference.builder() - .type("application/vnd.vmware.vcloud.vdc+xml") - .name("") - .href(URI.create(endpoint+"/vdc/"+vdcId)) - .id(vdcId) - .build(); + vdcURI = URI.create(endpoint+"/vdc/"+vdcId); } @Test @@ -85,12 +61,11 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest Vdc expected = getVdc(); - assertEquals(client.getVdcClient().getVdc(vdcRef), expected); + assertEquals(client.getVdcClient().getVdc(vdcURI), expected); } @Test public void testResponse400ForInvalidVdcId() { - URI vdcUri = URI.create(endpoint + "/vdc/NOTAUUID"); VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer() @@ -106,22 +81,17 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .majorErrorCode(400) .minorErrorCode("BAD_REQUEST") .build(); - - Reference vdcRef = Reference.builder().href(vdcUri).build(); try { - client.getVdcClient().getVdc(vdcRef); + client.getVdcClient().getVdc(URI.create(endpoint + "/vdc/NOTAUUID")); fail("Should give HTTP 400 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); - } catch (Exception e) { - fail("Should have thrown a VCloudDirectorException"); } } @Test public void testResponse403ForFakeVdcId() { - URI vdcUri = URI.create(endpoint + "/vdc/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"); VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer() @@ -138,15 +108,11 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN") .build(); - Reference vdcRef = Reference.builder().href(vdcUri).build(); - try { - client.getVdcClient().getVdc(vdcRef); + client.getVdcClient().getVdc(URI.create(endpoint + "/vdc/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")); fail("Should give HTTP 403 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); - } catch (Exception e) { - fail("Should have thrown a VCloudDirectorException"); } } @@ -169,7 +135,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); - assertEquals(client.getVdcClient().captureVApp(vdcRef, params), expected); + assertEquals(client.getVdcClient().captureVApp(vdcURI, params), expected); } @Test(enabled = false) @@ -191,12 +157,10 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); try { - client.getVdcClient().captureVApp(vdcRef, null); + client.getVdcClient().captureVApp(vdcURI, null); fail("Should give HTTP 400 error"); } catch (VCloudDirectorException vde) { assertEquals(vde.getError(), expected); - } catch (Exception e) { - fail("Should have thrown a VCloudDirectorException"); } } @@ -219,7 +183,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); - assertEquals(client.getVdcClient().cloneVApp(vdcRef, params), expected); + assertEquals(client.getVdcClient().cloneVApp(vdcURI, params), expected); } @Test(enabled = false) @@ -241,7 +205,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); - assertEquals(client.getVdcClient().cloneVAppTemplate(vdcRef, params), expected); + assertEquals(client.getVdcClient().cloneVAppTemplate(vdcURI, params), expected); } @Test(enabled = false) @@ -263,7 +227,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); - assertEquals(client.getVdcClient().composeVApp(vdcRef, params), expected); + assertEquals(client.getVdcClient().composeVApp(vdcURI, params), expected); } @Test(enabled = false) @@ -285,7 +249,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); - assertEquals(client.getVdcClient().instantiateVApp(vdcRef, params), expected); + assertEquals(client.getVdcClient().instantiateVApp(vdcURI, params), expected); } @Test(enabled = false) @@ -307,7 +271,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); - assertEquals(client.getVdcClient().uploadVAppTemplate(vdcRef, params), expected); + assertEquals(client.getVdcClient().uploadVAppTemplate(vdcURI, params), expected); } @Test(enabled = false) @@ -329,27 +293,25 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .build(); - assertEquals(client.getVdcClient().createMedia(vdcRef, createMedia), expected); + assertEquals(client.getVdcClient().createMedia(vdcURI, createMedia), expected); } @Test(enabled = false) public void testGetMetadata() { URI vdcUri = URI.create(endpoint + "/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f"); - VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, + VCloudDirectorClient client = requestsSendResponses(loginRequest, sessionResponse, new VcloudHttpRequestPrimer() - .apiCommand("GET", "/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f/metadata") - .acceptAnyMedia() - .httpRequestBuilder().build(), + .apiCommand("GET", "/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f/metadata") + .acceptAnyMedia() + .httpRequestBuilder().build(), new VcloudHttpResponsePrimer() - .xmlFilePayload("/vdc/metadata.xml", VCloudDirectorMediaType.METADATA) - .httpResponseBuilder().build()); - - Reference mediaRef = Reference.builder().href(vdcUri).build(); - + .xmlFilePayload("/vdc/metadata.xml", VCloudDirectorMediaType.METADATA) + .httpResponseBuilder().build()); + Metadata expected = metadata(); - assertEquals(client.getVdcClient().getMetadataClient().getMetadata(mediaRef), expected); + assertEquals(client.getVdcClient().getMetadataClient().getMetadata(vdcUri), expected); } @Test(enabled = false) @@ -366,10 +328,8 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest .httpResponseBuilder().build()); MetadataValue expected = metadataValue(); - - Reference mediaRef = Reference.builder().href(vdcUri).build(); - - assertEquals(client.getVdcClient().getMetadataClient().getMetadataValue(mediaRef, "key"), expected); + + assertEquals(client.getVdcClient().getMetadataClient().getMetadataValue(vdcUri, "key"), expected); } public static Vdc getVdc() { diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientLiveTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientLiveTest.java index a52922b44f..bce9cc1945 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientLiveTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/VdcClientLiveTest.java @@ -18,30 +18,14 @@ */ package org.jclouds.vcloud.director.v1_5.features; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_GTE_0; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_REQ; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_REQ_LIVE; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_REQ_LIVE; -import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.REF_REQ_LIVE; +import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.*; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; import java.net.URI; -import org.jclouds.vcloud.director.v1_5.domain.CaptureVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.Checks; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.CloneVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.ComposeVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.InstantiateVAppParams; -import org.jclouds.vcloud.director.v1_5.domain.Metadata; -import org.jclouds.vcloud.director.v1_5.domain.MetadataValue; -import org.jclouds.vcloud.director.v1_5.domain.Reference; -import org.jclouds.vcloud.director.v1_5.domain.UploadVAppTemplateParams; -import org.jclouds.vcloud.director.v1_5.domain.VApp; -import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate; -import org.jclouds.vcloud.director.v1_5.domain.Vdc; +import org.jclouds.vcloud.director.v1_5.domain.*; import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTest; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -63,26 +47,21 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { */ protected VdcClient vdcClient; - private Reference vdcRef; + private URI vdcURI; @BeforeClass(inheritGroups = true) @Override public void setupRequiredClients() { - vdcRef = Reference.builder() - .type("application/vnd.vmware.vcloud.vdc+xml") - .name("") - .href(URI.create(endpoint+"/vdc/"+vdcId)) - .id(vdcId) - .build(); + vdcURI = URI.create(endpoint+"/vdc/"+vdcId); vdcClient = context.getApi().getVdcClient(); } @Test(testName = "GET /vdc/{id}") public void testGetVdc() { // required for testing - assertNotNull(vdcRef, String.format(REF_REQ_LIVE, VDC)); + assertNotNull(vdcURI, String.format(REF_REQ_LIVE, VDC)); - Vdc vdc = vdcClient.getVdc(vdcRef); + Vdc vdc = vdcClient.getVdc(vdcURI); assertNotNull(vdc, String.format(OBJ_REQ_LIVE, VDC)); assertTrue(!vdc.getDescription().equals("DO NOT USE"), "vDC isn't to be used for testing"); @@ -127,12 +106,12 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "POST /vdc/{id}/action/captureVApp", enabled = false) public void testCaptureVApp() { Reference templateSource = null; // TODO: vApp reference - VAppTemplate template = vdcClient.captureVApp(vdcRef, CaptureVAppParams.builder() + VAppTemplate template = vdcClient.captureVApp(vdcURI, CaptureVAppParams.builder() .source(templateSource) - // TODO: test optional params - //.name("") - //.description("") - //.sections(sections) // TODO: ovf sections + // TODO: test optional params + //.name("") + //.description("") + //.sections(sections) // TODO: ovf sections .build()); Checks.checkVAppTemplate(template); @@ -144,21 +123,21 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "POST /vdc/{id}/action/cloneVApp", enabled = false) public void testCloneVApp() { Reference vAppSource = null; // TODO: vApp reference - VApp vApp = vdcClient.cloneVApp(vdcRef, CloneVAppParams.builder() + VApp vApp = vdcClient.cloneVApp(vdcURI, CloneVAppParams.builder() .source(vAppSource) - // TODO: test optional params - //.name("") - //.description("") - //.deploy(true) - //.isSourceDelete(true) - //.powerOn(true) - //.instantiationParams(InstantiationParams.builder() - // .sections(sections) // TODO: ovf sections? various tests? - // .build()) - - // Reserved. Unimplemented params; may test eventually when implemented - //.vAppParent(vAppParentRef) - //.linkedClone(true) + // TODO: test optional params + //.name("") + //.description("") + //.deploy(true) + //.isSourceDelete(true) + //.powerOn(true) + //.instantiationParams(InstantiationParams.builder() + // .sections(sections) // TODO: ovf sections? various tests? + // .build()) + + // Reserved. Unimplemented params; may test eventually when implemented + //.vAppParent(vAppParentRef) + //.linkedClone(true) .build()); Checks.checkVApp(vApp); @@ -170,13 +149,13 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "POST /vdc/{id}/action/cloneVAppTemplate", enabled = false) public void testCloneVAppTemplate() { Reference templateSource = null; // TODO: vAppTemplate reference - VAppTemplate template = vdcClient.cloneVAppTemplate(vdcRef, CloneVAppTemplateParams.builder() + VAppTemplate template = vdcClient.cloneVAppTemplate(vdcURI, CloneVAppTemplateParams.builder() .source(templateSource) - // TODO: test optional params - //.name("") - //.description("") - //.isSourceDelete(true) - //.sections(sections) // TODO: ovf sections + // TODO: test optional params + //.name("") + //.description("") + //.isSourceDelete(true) + //.sections(sections) // TODO: ovf sections .build()); Checks.checkVAppTemplate(template); @@ -187,7 +166,7 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "POST /vdc/{id}/action/composeVApp", enabled = false) public void testComposeVApp() { - VApp vApp = vdcClient.composeVApp(vdcRef, ComposeVAppParams.builder() + VApp vApp = vdcClient.composeVApp(vdcURI, ComposeVAppParams.builder() // TODO: test optional params //.name("") //.description("") @@ -197,7 +176,7 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { //.instantiationParams(InstantiationParams.builder() // .sections(sections) // TODO: ovf sections? various tests? // .build()) - + // Reserved. Unimplemented params; may test eventually when implemented //.linkedClone() .build()); @@ -211,12 +190,12 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "POST /vdc/{id}/action/instantiateVAppTemplate", enabled = false) public void testInstantiateVAppTemplate() { Reference templateSource = null; // TODO: vApp or vAppTemplate reference - VApp vApp = vdcClient.instantiateVApp(vdcRef, InstantiateVAppParams.builder() + VApp vApp = vdcClient.instantiateVApp(vdcURI, InstantiateVAppParams.builder() .source(templateSource) - // TODO: test optional params - //.name("") - //.description("") - //.isSourceDelete(true) + // TODO: test optional params + //.name("") + //.description("") + //.isSourceDelete(true) .build()); Checks.checkVApp(vApp); @@ -227,7 +206,7 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "POST /vdc/{id}/action/uploadVAppTemplate", enabled = false) public void testUploadVAppTemplate() { - VAppTemplate template = vdcClient.uploadVAppTemplate(vdcRef, UploadVAppTemplateParams.builder() + VAppTemplate template = vdcClient.uploadVAppTemplate(vdcURI, UploadVAppTemplateParams.builder() // TODO: test optional params //.name("") //.description("") @@ -243,7 +222,7 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /network/{id}/metadata", enabled = false) public void testGetMetadata() { - Metadata metadata = vdcClient.getMetadataClient().getMetadata(vdcRef); + Metadata metadata = vdcClient.getMetadataClient().getMetadata(vdcURI); // required for testing assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()), String.format(OBJ_FIELD_REQ_LIVE, VDC, "metadata.entries")); @@ -253,7 +232,7 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest { @Test(testName = "GET /network/{id}/metadata/{key}", enabled = false) public void testGetMetadataValue() { - MetadataValue metadataValue = vdcClient.getMetadataClient().getMetadataValue(vdcRef, "key"); + MetadataValue metadataValue = vdcClient.getMetadataClient().getMetadataValue(vdcURI, "key"); Checks.checkMetadataValueFor(VDC, metadataValue); } diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/internal/BaseVCloudDirectorClientLiveTest.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/internal/BaseVCloudDirectorClientLiveTest.java index 353e525046..1a4b2cc10c 100644 --- a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/internal/BaseVCloudDirectorClientLiveTest.java +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/internal/BaseVCloudDirectorClientLiveTest.java @@ -18,6 +18,7 @@ */ package org.jclouds.vcloud.director.v1_5.internal; +import java.net.URI; import java.util.Properties; import org.jclouds.compute.BaseVersionedServiceLiveTest; @@ -28,7 +29,7 @@ import org.jclouds.rest.RestContextFactory; import org.jclouds.sshj.config.SshjSshClientModule; import org.jclouds.vcloud.director.v1_5.VCloudDirectorAsyncClient; import org.jclouds.vcloud.director.v1_5.VCloudDirectorClient; -import org.jclouds.vcloud.director.v1_5.domain.URISupplier; +import org.jclouds.vcloud.director.v1_5.domain.Task; import org.jclouds.vcloud.director.v1_5.predicates.TaskSuccess; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -74,7 +75,7 @@ public abstract class BaseVCloudDirectorClientLiveTest extends BaseVersionedServ public abstract void setupRequiredClients(); /** Injected by {@link #setupContext} */ - public Predicate retryTaskSuccess; + public Predicate retryTaskSuccess; @Override @BeforeClass(groups = { "live" }) @@ -99,7 +100,7 @@ public abstract class BaseVCloudDirectorClientLiveTest extends BaseVersionedServ ImmutableSet. of(new Log4JLoggingModule(), new SshjSshClientModule()), overrides); TaskSuccess taskSuccess = context.utils().injector().getInstance(TaskSuccess.class); - retryTaskSuccess = new RetryablePredicate(taskSuccess, 1000L); + retryTaskSuccess = new RetryablePredicate(taskSuccess, 1000L); } protected void tearDown() {