mirror of https://github.com/apache/jclouds.git
test groupings + metadataclient delegation
This commit is contained in:
parent
f194523403
commit
5789d1783e
|
@ -21,20 +21,18 @@ package org.jclouds.vcloud.director.v1_5;
|
||||||
import org.jclouds.rest.annotations.Delegate;
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Catalog;
|
import org.jclouds.vcloud.director.v1_5.domain.Catalog;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Media;
|
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.Org;
|
import org.jclouds.vcloud.director.v1_5.domain.Org;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Session;
|
import org.jclouds.vcloud.director.v1_5.domain.Session;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.CatalogAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.CatalogAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.MetadataAsyncClient;
|
|
||||||
import org.jclouds.vcloud.director.v1_5.features.NetworkAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.NetworkAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.OrgAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.OrgAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.QueryAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.QueryAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.TaskAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.TaskAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.VAppTemplateAsyncClient;
|
|
||||||
import org.jclouds.vcloud.director.v1_5.features.UploadAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.UploadAsyncClient;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.features.VAppTemplateAsyncClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.VdcAsyncClient;
|
import org.jclouds.vcloud.director.v1_5.features.VdcAsyncClient;
|
||||||
|
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
|
@ -101,11 +99,7 @@ public interface VCloudDirectorAsyncClient {
|
||||||
@Delegate
|
@Delegate
|
||||||
UploadAsyncClient getUploadClient();
|
UploadAsyncClient getUploadClient();
|
||||||
|
|
||||||
/**
|
|
||||||
* @return asynchronous access to {@link Metadata} features
|
|
||||||
*/
|
|
||||||
@Delegate
|
|
||||||
MetadataAsyncClient getMetadataClient();
|
|
||||||
/**
|
/**
|
||||||
* @return asynchronous access to {@link org.jclouds.vcloud.director.v1_5.domain.VAppTemplate} features
|
* @return asynchronous access to {@link org.jclouds.vcloud.director.v1_5.domain.VAppTemplate} features
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -24,7 +24,6 @@ import org.jclouds.concurrent.Timeout;
|
||||||
import org.jclouds.rest.annotations.Delegate;
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Catalog;
|
import org.jclouds.vcloud.director.v1_5.domain.Catalog;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Media;
|
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.Org;
|
import org.jclouds.vcloud.director.v1_5.domain.Org;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Session;
|
import org.jclouds.vcloud.director.v1_5.domain.Session;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||||
|
@ -32,13 +31,12 @@ import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.CatalogClient;
|
import org.jclouds.vcloud.director.v1_5.features.CatalogClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.MediaClient;
|
import org.jclouds.vcloud.director.v1_5.features.MediaClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.MetadataClient;
|
|
||||||
import org.jclouds.vcloud.director.v1_5.features.NetworkClient;
|
import org.jclouds.vcloud.director.v1_5.features.NetworkClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.OrgClient;
|
import org.jclouds.vcloud.director.v1_5.features.OrgClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.QueryClient;
|
import org.jclouds.vcloud.director.v1_5.features.QueryClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.TaskClient;
|
import org.jclouds.vcloud.director.v1_5.features.TaskClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.VAppTemplateClient;
|
|
||||||
import org.jclouds.vcloud.director.v1_5.features.UploadClient;
|
import org.jclouds.vcloud.director.v1_5.features.UploadClient;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.features.VAppTemplateClient;
|
||||||
import org.jclouds.vcloud.director.v1_5.features.VdcClient;
|
import org.jclouds.vcloud.director.v1_5.features.VdcClient;
|
||||||
|
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
|
@ -106,11 +104,6 @@ public interface VCloudDirectorClient {
|
||||||
UploadClient getUploadClient();
|
UploadClient getUploadClient();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return synchronous access to {@link Metadata} features
|
|
||||||
*/
|
|
||||||
@Delegate
|
|
||||||
MetadataClient getMetadataClient();
|
|
||||||
/*
|
|
||||||
* @return synchronous access to {@link org.jclouds.vcloud.director.v1_5.domain.VAppTemplate} features
|
* @return synchronous access to {@link org.jclouds.vcloud.director.v1_5.domain.VAppTemplate} features
|
||||||
*/
|
*/
|
||||||
@Delegate
|
@Delegate
|
||||||
|
|
|
@ -83,7 +83,8 @@ public class VCloudDirectorRestClientModule extends RestClientModule<VCloudDirec
|
||||||
.put(VdcClient.class, VdcAsyncClient.class)
|
.put(VdcClient.class, VdcAsyncClient.class)
|
||||||
.put(VAppTemplateClient.class, VAppTemplateAsyncClient.class)
|
.put(VAppTemplateClient.class, VAppTemplateAsyncClient.class)
|
||||||
.put(UploadClient.class, UploadAsyncClient.class)
|
.put(UploadClient.class, UploadAsyncClient.class)
|
||||||
.put(MetadataClient.class, MetadataAsyncClient.class)
|
.put(MetadataClient.Readable.class, MetadataAsyncClient.Readable.class)
|
||||||
|
.put(MetadataClient.Writeable.class, MetadataAsyncClient.Writable.class)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
public VCloudDirectorRestClientModule() {
|
public VCloudDirectorRestClientModule() {
|
||||||
|
|
|
@ -24,10 +24,10 @@ import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.POST;
|
import javax.ws.rs.POST;
|
||||||
import javax.ws.rs.PUT;
|
import javax.ws.rs.PUT;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.PathParam;
|
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
|
|
||||||
import org.jclouds.rest.annotations.BinderParam;
|
import org.jclouds.rest.annotations.BinderParam;
|
||||||
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.rest.annotations.EndpointParam;
|
import org.jclouds.rest.annotations.EndpointParam;
|
||||||
import org.jclouds.rest.annotations.ExceptionParser;
|
import org.jclouds.rest.annotations.ExceptionParser;
|
||||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||||
|
@ -37,8 +37,6 @@ 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.Catalog;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.CatalogItem;
|
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.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;
|
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.filters.AddVCloudAuthorizationToRequest;
|
||||||
import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx;
|
import org.jclouds.vcloud.director.v1_5.functions.ThrowVCloudErrorOn4xx;
|
||||||
|
@ -74,27 +72,6 @@ public interface CatalogAsyncClient {
|
||||||
ListenableFuture<CatalogItem> addCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogRef,
|
ListenableFuture<CatalogItem> addCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogRef,
|
||||||
@BinderParam(BindToXMLPayload.class) CatalogItem catalogItem);
|
@BinderParam(BindToXMLPayload.class) CatalogItem catalogItem);
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the metadata associated with the catalog.
|
|
||||||
*/
|
|
||||||
@GET
|
|
||||||
@Path("/metadata")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Metadata> getCatalogMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogRef);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the metadata associated with the catalog for the specified key.
|
|
||||||
*/
|
|
||||||
@GET
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<MetadataValue> getCatalogMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogRef,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves a catalog item.
|
* Retrieves a catalog item.
|
||||||
*/
|
*/
|
||||||
|
@ -125,58 +102,8 @@ public interface CatalogAsyncClient {
|
||||||
ListenableFuture<Void> deleteCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef);
|
ListenableFuture<Void> deleteCatalogItem(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the metadata associated with the catalog item.
|
* @return asynchronous access to {@link Metadata.Writeable} features
|
||||||
*/
|
*/
|
||||||
@GET
|
@Delegate
|
||||||
@Path("/metadata")
|
MetadataAsyncClient.Writable getMetadataClient();
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Metadata> getCatalogItemMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Merges the metadata for a catalog item with the information provided.
|
|
||||||
*/
|
|
||||||
@POST
|
|
||||||
@Path("/metadata")
|
|
||||||
@Consumes(VCloudDirectorMediaType.TASK)
|
|
||||||
@Produces(VCloudDirectorMediaType.METADATA)
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Task> mergeCatalogItemMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef,
|
|
||||||
@BinderParam(BindToXMLPayload.class) Metadata catalogItemMetadata);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the metadata associated with the catalog item for the specified key.
|
|
||||||
*/
|
|
||||||
@GET
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<MetadataValue> getCatalogItemMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the metadata for the particular key for the catalog item to the value provided.
|
|
||||||
*/
|
|
||||||
@PUT
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes(VCloudDirectorMediaType.TASK)
|
|
||||||
@Produces(VCloudDirectorMediaType.METADATA_VALUE)
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Task> setCatalogItemMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef,
|
|
||||||
@PathParam("key") String key, @BinderParam(BindToXMLPayload.class) MetadataValue metadataValue);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes the metadata for the particular key for the catalog item.
|
|
||||||
*/
|
|
||||||
@DELETE
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Task> deleteCatalogItemMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier catalogItemRef,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,11 +21,10 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.jclouds.concurrent.Timeout;
|
import org.jclouds.concurrent.Timeout;
|
||||||
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Catalog;
|
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.CatalogItem;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Metadata;
|
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;
|
import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -62,31 +61,6 @@ public interface CatalogClient {
|
||||||
*/
|
*/
|
||||||
CatalogItem addCatalogItem(URISupplier catalogRef, CatalogItem item);
|
CatalogItem addCatalogItem(URISupplier catalogRef, CatalogItem item);
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the metadata associated with the catalog.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* GET /catalog/{id}/metadata
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @param catalogRef the reference for the catalog
|
|
||||||
* @return the catalog metadata
|
|
||||||
*/
|
|
||||||
Metadata getCatalogMetadata(URISupplier catalogRef);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the metadata associated with the catalog for the specified key.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* GET /catalog/{id}/metadata/{key}
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @param catalogRef the reference for the catalog
|
|
||||||
* @param key the metadata entry key
|
|
||||||
* @return the catalog metadata value
|
|
||||||
*/
|
|
||||||
MetadataValue getCatalogMetadataValue(URISupplier catalogRef, String key);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves a catalog item.
|
* Retrieves a catalog item.
|
||||||
*
|
*
|
||||||
|
@ -124,67 +98,8 @@ public interface CatalogClient {
|
||||||
void deleteCatalogItem(URISupplier catalogItemRef);
|
void deleteCatalogItem(URISupplier catalogItemRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the metadata associated with the catalog item.
|
* @return synchronous access to {@link Metadata.Writeable} features
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* GET /catalogItem/{id}/metadata
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @param catalogItemRef the reference for the catalog item
|
|
||||||
* @return the catalog item metadata
|
|
||||||
*/
|
*/
|
||||||
Metadata getCatalogItemMetadata(URISupplier catalogItemRef);
|
@Delegate
|
||||||
|
MetadataClient.Writeable getMetadataClient();
|
||||||
/**
|
|
||||||
* Merges the metadata for a catalog item with the information provided.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* POST /catalogItem/{id}/metadata
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @param catalogItemRef the reference for the catalog item
|
|
||||||
* @param catalogItemMetadata the metadata for the catalog item
|
|
||||||
* @return a task for the merge operation
|
|
||||||
*/
|
|
||||||
Task mergeCatalogItemMetadata(URISupplier catalogItemRef, Metadata catalogItemMetadata);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the metadata associated with the catalog item for the specified key.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* GET /catalog/{id}/metadata/{key}
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @param catalogItemRef the reference for the catalog item
|
|
||||||
* @param key the metadata entry key
|
|
||||||
* @return the catalog item metadata value
|
|
||||||
*/
|
|
||||||
MetadataValue getCatalogItemMetadataValue(URISupplier catalogItemRef, String key);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the metadata for the particular key for the catalog item to the value provided.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* PUT /catalog/{id}/metadata/{key}
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @param catalogItemRef the reference for the catalog item
|
|
||||||
* @param key the metadata entry key
|
|
||||||
* @param value the metadata value
|
|
||||||
* @return a task for the set operation
|
|
||||||
*/
|
|
||||||
Task setCatalogItemMetadataValue(URISupplier catalogItemRef, String key, MetadataValue value);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes the metadata for the particular key for the catalog item.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* DELETE /catalog/{id}/metadata/{key}
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @param catalogItemRef the reference for the catalog item
|
|
||||||
* @param key the metadata entry key
|
|
||||||
* @return a task for the delete operation
|
|
||||||
*/
|
|
||||||
Task deleteCatalogItemMetadataValue(URISupplier catalogItemRef, String key);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,12 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.DELETE;
|
import javax.ws.rs.DELETE;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.POST;
|
|
||||||
import javax.ws.rs.PUT;
|
import javax.ws.rs.PUT;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.PathParam;
|
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
|
|
||||||
import org.jclouds.rest.annotations.BinderParam;
|
import org.jclouds.rest.annotations.BinderParam;
|
||||||
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.rest.annotations.EndpointParam;
|
import org.jclouds.rest.annotations.EndpointParam;
|
||||||
import org.jclouds.rest.annotations.ExceptionParser;
|
import org.jclouds.rest.annotations.ExceptionParser;
|
||||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||||
|
@ -36,7 +35,6 @@ import org.jclouds.rest.binders.BindToXMLPayload;
|
||||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
|
import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Media;
|
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.Metadata;
|
||||||
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.Owner;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
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.domain.URISupplier;
|
||||||
|
@ -93,60 +91,8 @@ public interface MediaAsyncClient {
|
||||||
ListenableFuture<Owner> getOwner(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef);
|
ListenableFuture<Owner> getOwner(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see MediaClient#getMetadata(URISupplier))
|
* @return asynchronous access to {@link Metadata.Writeable} features
|
||||||
*/
|
*/
|
||||||
@GET
|
@Delegate
|
||||||
@Path("/metadata")
|
MetadataAsyncClient.Writable getMetadataClient();
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Metadata> getMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see MediaClient#mergeMetadata(URISupplier, Metadata))
|
|
||||||
*/
|
|
||||||
@POST
|
|
||||||
@Path("/metadata")
|
|
||||||
@Consumes(VCloudDirectorMediaType.TASK)
|
|
||||||
@Produces(VCloudDirectorMediaType.METADATA)
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Task> mergeMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef,
|
|
||||||
@BinderParam(BindToXMLPayload.class) Metadata metadata);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see MediaClient#getMetadataEntry(URISupplier, String))
|
|
||||||
*/
|
|
||||||
@GET
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<MetadataValue> getMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see MediaClient#setMetadata(URISupplier, String, MetadataEntry))
|
|
||||||
*/
|
|
||||||
@PUT
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes(VCloudDirectorMediaType.TASK)
|
|
||||||
@Produces(VCloudDirectorMediaType.METADATA_VALUE)
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Task> setMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier metaDataRef,
|
|
||||||
@PathParam("key") String key,
|
|
||||||
@BinderParam(BindToXMLPayload.class) MetadataValue metadataValue);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see MediaClient#deleteMetadataEntry(URISupplier, String))
|
|
||||||
*/
|
|
||||||
@DELETE
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes(VCloudDirectorMediaType.TASK)
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Task> deleteMetadataEntry(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier metaDataRef,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,9 +21,9 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.jclouds.concurrent.Timeout;
|
import org.jclouds.concurrent.Timeout;
|
||||||
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Media;
|
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.Metadata;
|
||||||
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.Owner;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
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.domain.URISupplier;
|
||||||
|
@ -67,42 +67,9 @@ public interface MediaClient {
|
||||||
Owner getOwner(URISupplier mediaRef);
|
Owner getOwner(URISupplier mediaRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves an list of the media's metadata
|
* @return synchronous access to {@link Metadata.Writeable} features
|
||||||
*
|
|
||||||
* @return a list of metadata
|
|
||||||
*/
|
*/
|
||||||
Metadata getMetadata(URISupplier mediaRef);
|
@Delegate
|
||||||
/**
|
MetadataClient.Writeable getMetadataClient();
|
||||||
* Merges the metadata for a media with the information provided.
|
|
||||||
*
|
|
||||||
* @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 mediaRef, Metadata metadata);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves a metadata value
|
|
||||||
*
|
|
||||||
* @return the metadata value, or null if not found
|
|
||||||
*/
|
|
||||||
MetadataValue getMetadataValue(URISupplier mediaRef, String key);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the metadata for the particular key for the media to the value provided.
|
|
||||||
* Note: this will replace any existing metadata information
|
|
||||||
*
|
|
||||||
* @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 mediaRef, String key, MetadataValue metadataValue);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes a metadata entry.
|
|
||||||
*
|
|
||||||
* @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 mediaRef, String key);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ public interface MetadataAsyncClient {
|
||||||
@Consumes
|
@Consumes
|
||||||
@JAXBResponseParser
|
@JAXBResponseParser
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||||
ListenableFuture<Metadata> getMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parent);
|
ListenableFuture<Metadata> getMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parentRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see MetadataClient.Readable#getMetadataEntry(URISupplier, String)
|
* @see MetadataClient.Readable#getMetadataEntry(URISupplier, String)
|
||||||
|
@ -70,7 +70,7 @@ public interface MetadataAsyncClient {
|
||||||
@Consumes
|
@Consumes
|
||||||
@JAXBResponseParser
|
@JAXBResponseParser
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||||
ListenableFuture<MetadataValue> getMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parent ,
|
ListenableFuture<MetadataValue> getMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parentRef ,
|
||||||
@PathParam("key") String key);
|
@PathParam("key") String key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ public interface MetadataAsyncClient {
|
||||||
@Produces(VCloudDirectorMediaType.METADATA)
|
@Produces(VCloudDirectorMediaType.METADATA)
|
||||||
@JAXBResponseParser
|
@JAXBResponseParser
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||||
ListenableFuture<Task> mergeMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier mediaRef,
|
ListenableFuture<Task> mergeMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier parentRef,
|
||||||
@BinderParam(BindToXMLPayload.class) Metadata metadata);
|
@BinderParam(BindToXMLPayload.class) Metadata metadata);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,32 +34,33 @@ import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
||||||
* @see <a href= "http://support.theenterprisecloud.com/kb/default.asp?id=984&Lang=1&SID=" />
|
* @see <a href= "http://support.theenterprisecloud.com/kb/default.asp?id=984&Lang=1&SID=" />
|
||||||
* @author danikov
|
* @author danikov
|
||||||
*/
|
*/
|
||||||
@Timeout(duration = 180, timeUnit = TimeUnit.SECONDS)
|
|
||||||
public interface MetadataClient {
|
public interface MetadataClient {
|
||||||
|
@Timeout(duration = 180, timeUnit = TimeUnit.SECONDS)
|
||||||
public static interface Readable extends MetadataClient {
|
public static interface Readable extends MetadataClient {
|
||||||
/**
|
/**
|
||||||
* Retrieves an list of metadata
|
* Retrieves an list of metadata
|
||||||
*
|
*
|
||||||
* @return a list of metadata
|
* @return a list of metadata
|
||||||
*/
|
*/
|
||||||
Metadata getMetadata(URISupplier vdcRef);
|
Metadata getMetadata(URISupplier parentRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves a metadata value
|
* Retrieves a metadata value
|
||||||
*
|
*
|
||||||
* @return the metadata value, or null if not found
|
* @return the metadata value, or null if not found
|
||||||
*/
|
*/
|
||||||
MetadataValue getMetadataValue(URISupplier vdcRef, String key);
|
MetadataValue getMetadataValue(URISupplier parentRef, String key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static interface Writable extends Readable {
|
@Timeout(duration = 180, timeUnit = TimeUnit.SECONDS)
|
||||||
|
public static interface Writeable extends Readable {
|
||||||
/**
|
/**
|
||||||
* Merges the metadata for a media with the information provided.
|
* Merges the metadata for a media with the information provided.
|
||||||
*
|
*
|
||||||
* @return a task. This operation is asynchronous and the user should monitor the returned
|
* @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 status in order to check when it is completed.
|
||||||
*/
|
*/
|
||||||
Task mergeMetadata(URISupplier mediaRef, Metadata metadata);
|
Task mergeMetadata(URISupplier parentRef, Metadata metadata);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the metadata for the particular key for the media to the value provided.
|
* Sets the metadata for the particular key for the media to the value provided.
|
||||||
|
@ -68,7 +69,7 @@ public interface MetadataClient {
|
||||||
* @return a task. This operation is asynchronous and the user should monitor the returned
|
* @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 status in order to check when it is completed.
|
||||||
*/
|
*/
|
||||||
Task setMetadata(URISupplier mediaRef, String key, MetadataValue metadataValue);
|
Task setMetadata(URISupplier parentRef, String key, MetadataValue metadataValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes a metadata entry.
|
* Deletes a metadata entry.
|
||||||
|
@ -76,6 +77,6 @@ public interface MetadataClient {
|
||||||
* @return a task. This operation is asynchronous and the user should monitor the returned
|
* @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 status in order to check when it is completed.
|
||||||
*/
|
*/
|
||||||
Task deleteMetadataEntry(URISupplier mediaRef, String key);
|
Task deleteMetadataEntry(URISupplier parentRef, String key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,15 +20,13 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.Path;
|
|
||||||
import javax.ws.rs.PathParam;
|
|
||||||
|
|
||||||
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.rest.annotations.EndpointParam;
|
import org.jclouds.rest.annotations.EndpointParam;
|
||||||
import org.jclouds.rest.annotations.ExceptionParser;
|
import org.jclouds.rest.annotations.ExceptionParser;
|
||||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||||
import org.jclouds.rest.annotations.RequestFilters;
|
import org.jclouds.rest.annotations.RequestFilters;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Metadata;
|
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.OrgNetwork;
|
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.domain.URISupplier;
|
||||||
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest;
|
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationToRequest;
|
||||||
|
@ -55,24 +53,9 @@ public interface NetworkAsyncClient {
|
||||||
ListenableFuture<OrgNetwork> getNetwork(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier networkRef);
|
ListenableFuture<OrgNetwork> getNetwork(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier networkRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see NeworkClient#getMetadata(URISupplier)
|
* @return asynchronous access to {@link Metadata.Readable} features
|
||||||
*/
|
*/
|
||||||
@GET
|
@Delegate
|
||||||
@Path("/metadata")
|
MetadataAsyncClient.Readable getMetadataClient();
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Metadata> getMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier networkRef);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see NeworkClient#getMetadataValue(URISupplier, String)
|
|
||||||
*/
|
|
||||||
@GET
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<MetadataValue> getMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier networkRef ,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,8 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.jclouds.concurrent.Timeout;
|
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.Metadata;
|
||||||
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.OrgNetwork;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
||||||
|
|
||||||
|
@ -45,17 +45,8 @@ public interface NetworkClient {
|
||||||
OrgNetwork getNetwork(URISupplier networkRef);
|
OrgNetwork getNetwork(URISupplier networkRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves an list of the network's metadata
|
* @return synchronous access to {@link Metadata.Readable} features
|
||||||
*
|
|
||||||
* @return a list of metadata
|
|
||||||
*/
|
*/
|
||||||
Metadata getMetadata(URISupplier networkRef);
|
@Delegate
|
||||||
|
MetadataClient.Readable getMetadataClient();
|
||||||
/**
|
|
||||||
* Retrieves a metadata value
|
|
||||||
*
|
|
||||||
* @return the metadata value, or null if not found
|
|
||||||
*/
|
|
||||||
MetadataValue getMetadataValue(URISupplier networkRef, String key);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,14 +21,13 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.PathParam;
|
|
||||||
|
|
||||||
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.rest.annotations.EndpointParam;
|
import org.jclouds.rest.annotations.EndpointParam;
|
||||||
import org.jclouds.rest.annotations.ExceptionParser;
|
import org.jclouds.rest.annotations.ExceptionParser;
|
||||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||||
import org.jclouds.rest.annotations.RequestFilters;
|
import org.jclouds.rest.annotations.RequestFilters;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Metadata;
|
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.Org;
|
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.OrgList;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ReferenceType;
|
import org.jclouds.vcloud.director.v1_5.domain.ReferenceType;
|
||||||
|
@ -65,23 +64,8 @@ public interface OrgAsyncClient {
|
||||||
ListenableFuture<Org> getOrg(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier orgRef);
|
ListenableFuture<Org> getOrg(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier orgRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see OrgClient#getMetadata(ReferenceType)
|
* @return asynchronous access to {@link Metadata.Readable} features
|
||||||
*/
|
*/
|
||||||
@GET
|
@Delegate
|
||||||
@Path("/metadata")
|
MetadataAsyncClient.Readable getMetadataClient();
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Metadata> getOrgMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier orgRef);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see OrgClient#getMetadataEntry(ReferenceType, String)
|
|
||||||
*/
|
|
||||||
@GET
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<MetadataValue> getOrgMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier orgRef,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,8 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.jclouds.concurrent.Timeout;
|
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.Metadata;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.MetadataValue;
|
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Org;
|
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.OrgList;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
||||||
|
@ -60,24 +60,8 @@ public interface OrgClient {
|
||||||
Org getOrg(URISupplier orgRef);
|
Org getOrg(URISupplier orgRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves an list of the organization's metadata
|
* @return synchronous access to {@link Metadata.Readable} features
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* GET /org/{id}/metadata
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @return a list of metadata
|
|
||||||
*/
|
*/
|
||||||
Metadata getOrgMetadata(URISupplier orgRef);
|
@Delegate
|
||||||
|
MetadataClient.Readable getMetadataClient();
|
||||||
/**
|
|
||||||
* Retrieves a metadata entry.
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* GET /org/{id}/metadata{key}
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @return the metadata entry or null if not found
|
|
||||||
*/
|
|
||||||
MetadataValue getOrgMetadataValue(URISupplier orgRef, String key);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,10 +22,10 @@ import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.POST;
|
import javax.ws.rs.POST;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.PathParam;
|
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
|
|
||||||
import org.jclouds.rest.annotations.BinderParam;
|
import org.jclouds.rest.annotations.BinderParam;
|
||||||
|
import org.jclouds.rest.annotations.Delegate;
|
||||||
import org.jclouds.rest.annotations.EndpointParam;
|
import org.jclouds.rest.annotations.EndpointParam;
|
||||||
import org.jclouds.rest.annotations.ExceptionParser;
|
import org.jclouds.rest.annotations.ExceptionParser;
|
||||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||||
|
@ -40,7 +40,6 @@ 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.InstantiateVAppParamsType;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Media;
|
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.Metadata;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.MetadataValue;
|
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
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.UploadVAppTemplateParams;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.VApp;
|
import org.jclouds.vcloud.director.v1_5.domain.VApp;
|
||||||
|
@ -166,24 +165,9 @@ public interface VdcAsyncClient {
|
||||||
@BinderParam(BindToXMLPayload.class) Media media);
|
@BinderParam(BindToXMLPayload.class) Media media);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see VdcClient#getMetadata(URISupplier)
|
* @return asynchronous access to {@link Metadata.Readable} features
|
||||||
*/
|
*/
|
||||||
@GET
|
@Delegate
|
||||||
@Path("/metadata")
|
MetadataAsyncClient.Readable getMetadataClient();
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<Metadata> getMetadata(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see VdcClient#getMetadataEntry(URISupplier, String)
|
|
||||||
*/
|
|
||||||
@GET
|
|
||||||
@Path("/metadata/{key}")
|
|
||||||
@Consumes
|
|
||||||
@JAXBResponseParser
|
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
|
||||||
ListenableFuture<MetadataValue> getMetadataValue(@EndpointParam(parser = URISupplierToEndpoint.class) URISupplier vdcRef ,
|
|
||||||
@PathParam("key") String key);
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -21,6 +21,7 @@ package org.jclouds.vcloud.director.v1_5.features;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.jclouds.concurrent.Timeout;
|
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.CaptureVAppParams;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.CloneMediaParams;
|
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.CloneVAppParams;
|
||||||
|
@ -29,7 +30,6 @@ 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.InstantiateVAppParamsType;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Media;
|
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.Metadata;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.MetadataValue;
|
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.URISupplier;
|
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.UploadVAppTemplateParams;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.VApp;
|
import org.jclouds.vcloud.director.v1_5.domain.VApp;
|
||||||
|
@ -144,17 +144,9 @@ public interface VdcClient {
|
||||||
Media createMedia(URISupplier vdcRef, Media media);
|
Media createMedia(URISupplier vdcRef, Media media);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves an list of the vdc's metadata
|
* @return synchronous access to {@link Metadata.Readable} features
|
||||||
*
|
|
||||||
* @return a list of metadata
|
|
||||||
*/
|
*/
|
||||||
Metadata getMetadata(URISupplier vdcRef);
|
@Delegate
|
||||||
|
MetadataClient.Readable getMetadataClient();
|
||||||
/**
|
|
||||||
* Retrieves a metadata value
|
|
||||||
*
|
|
||||||
* @return the metadata value, or null if not found
|
|
||||||
*/
|
|
||||||
MetadataValue getMetadataValue(URISupplier vdcRef, String key);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
.entries(ImmutableSet.of(metadataEntry()))
|
.entries(ImmutableSet.of(metadataEntry()))
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
assertEquals(client.getCatalogClient().getCatalogMetadata(catalogRef), expected);
|
assertEquals(client.getCatalogClient().getMetadataClient().getMetadata(catalogRef), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -178,7 +178,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
|
|
||||||
MetadataValue expected = metadataValue();
|
MetadataValue expected = metadataValue();
|
||||||
|
|
||||||
assertEquals(client.getCatalogClient().getCatalogMetadataValue(catalogRef, "KEY"), expected);
|
assertEquals(client.getCatalogClient().getMetadataClient().getMetadataValue(catalogRef, "KEY"), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -301,7 +301,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
.entries(ImmutableSet.of(itemMetadataEntry()))
|
.entries(ImmutableSet.of(itemMetadataEntry()))
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
assertEquals(client.getCatalogClient().getCatalogItemMetadata(catalogItemReference), expected);
|
assertEquals(client.getCatalogClient().getMetadataClient().getMetadata(catalogItemReference), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -333,7 +333,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
|
|
||||||
Task expected = mergeMetadataTask();
|
Task expected = mergeMetadataTask();
|
||||||
|
|
||||||
assertEquals(client.getCatalogClient().mergeCatalogItemMetadata(catalogItemReference, metadata), expected);
|
assertEquals(client.getCatalogClient().getMetadataClient().mergeMetadata(catalogItemReference, metadata), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -362,7 +362,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
|
|
||||||
MetadataValue expected = itemMetadataValue();
|
MetadataValue expected = itemMetadataValue();
|
||||||
|
|
||||||
assertEquals(client.getCatalogClient().getCatalogItemMetadataValue(catalogItemReference, "KEY"), expected);
|
assertEquals(client.getCatalogClient().getMetadataClient().getMetadataValue(catalogItemReference, "KEY"), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -394,7 +394,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
|
|
||||||
Task expected = setMetadataValueTask();
|
Task expected = setMetadataValueTask();
|
||||||
|
|
||||||
assertEquals(client.getCatalogClient().setCatalogItemMetadataValue(catalogItemReference, "KEY", value), expected);
|
assertEquals(client.getCatalogClient().getMetadataClient().setMetadata(catalogItemReference, "KEY", value), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -423,7 +423,7 @@ public class CatalogClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
|
|
||||||
Task expected = deleteMetadataEntryTask();
|
Task expected = deleteMetadataEntryTask();
|
||||||
|
|
||||||
assertEquals(client.getCatalogClient().deleteCatalogItemMetadataValue(catalogItemReference, "KEY"), expected);
|
assertEquals(client.getCatalogClient().getMetadataClient().deleteMetadataEntry(catalogItemReference, "KEY"), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Catalog catalog() {
|
public static final Catalog catalog() {
|
||||||
|
|
|
@ -150,7 +150,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" }
|
// 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)
|
@Test(testName = "GET /catalog/{id}/metadata", dependsOnMethods = { "testGetCatalog" }, enabled = false)
|
||||||
public void testGetCatalogMetadata() {
|
public void testGetCatalogMetadata() {
|
||||||
catalogMetadata = catalogClient.getCatalogMetadata(catalogRef);
|
catalogMetadata = catalogClient.getMetadataClient().getMetadata(catalogRef);
|
||||||
checkMetadata(catalogMetadata);
|
checkMetadata(catalogMetadata);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
return input.getKey().equals("KEY");
|
return input.getKey().equals("KEY");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MetadataValue metadataValue = catalogClient.getCatalogMetadataValue(catalogRef, "KEY");
|
MetadataValue metadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogRef, "KEY");
|
||||||
assertEquals(metadataValue.getValue(), existingMetadataEntry.getValue(),
|
assertEquals(metadataValue.getValue(), existingMetadataEntry.getValue(),
|
||||||
String.format(CORRECT_VALUE_OBJECT_FMT, "Value", "MetadataValue", existingMetadataEntry.getValue(), metadataValue.getValue()));
|
String.format(CORRECT_VALUE_OBJECT_FMT, "Value", "MetadataValue", existingMetadataEntry.getValue(), metadataValue.getValue()));
|
||||||
checkMetadataValue(metadataValue);
|
checkMetadataValue(metadataValue);
|
||||||
|
@ -172,7 +172,7 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
@Test(testName = "GET /catalogItem/{id}/metadata", dependsOnMethods = { "testGetCatalogItem" })
|
@Test(testName = "GET /catalogItem/{id}/metadata", dependsOnMethods = { "testGetCatalogItem" })
|
||||||
public void testGetCatalogItemMetadata() {
|
public void testGetCatalogItemMetadata() {
|
||||||
resetCatalogItemMetadata(catalogItemRef);
|
resetCatalogItemMetadata(catalogItemRef);
|
||||||
catalogItemMetadata = catalogClient.getCatalogItemMetadata(catalogItemRef);
|
catalogItemMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef);
|
||||||
assertEquals(catalogItemMetadata.getMetadataEntries().size(), 1, String.format(MUST_EXIST_FMT, "MetadataEntry", "CatalogItem"));
|
assertEquals(catalogItemMetadata.getMetadataEntries().size(), 1, String.format(MUST_EXIST_FMT, "MetadataEntry", "CatalogItem"));
|
||||||
checkMetadata(catalogItemMetadata);
|
checkMetadata(catalogItemMetadata);
|
||||||
}
|
}
|
||||||
|
@ -184,22 +184,22 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
.entry(MetadataEntry.builder().entry("VEGIMITE", "VALUE").build())
|
.entry(MetadataEntry.builder().entry("VEGIMITE", "VALUE").build())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
Task mergeCatalogItemMetadata = catalogClient.mergeCatalogItemMetadata(catalogItemRef, newMetadata);
|
Task mergeCatalogItemMetadata = catalogClient.getMetadataClient().mergeMetadata(catalogItemRef, newMetadata);
|
||||||
checkTask(mergeCatalogItemMetadata);
|
checkTask(mergeCatalogItemMetadata);
|
||||||
assertTrue(retryTaskSuccess.apply(mergeCatalogItemMetadata),
|
assertTrue(retryTaskSuccess.apply(mergeCatalogItemMetadata),
|
||||||
String.format(TASK_COMPLETE_TIMELY, "mergeCatalogItemMetadata"));
|
String.format(TASK_COMPLETE_TIMELY, "mergeCatalogItemMetadata"));
|
||||||
|
|
||||||
Metadata mergedCatalogItemMetadata = catalogClient.getCatalogItemMetadata(catalogItemRef);
|
Metadata mergedCatalogItemMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef);
|
||||||
// XXX
|
// XXX
|
||||||
assertEquals(mergedCatalogItemMetadata.getMetadataEntries().size(), catalogItemMetadata.getMetadataEntries().size() + 1,
|
assertEquals(mergedCatalogItemMetadata.getMetadataEntries().size(), catalogItemMetadata.getMetadataEntries().size() + 1,
|
||||||
"Should have added another MetadataEntry to the CatalogItem");
|
"Should have added another MetadataEntry to the CatalogItem");
|
||||||
|
|
||||||
MetadataValue keyMetadataValue = catalogClient.getCatalogItemMetadataValue(catalogItemRef, "KEY");
|
MetadataValue keyMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY");
|
||||||
// XXX
|
// XXX
|
||||||
assertEquals(keyMetadataValue.getValue(), "MARMALADE", "The Value of the MetadataValue for KEY should have changed");
|
assertEquals(keyMetadataValue.getValue(), "MARMALADE", "The Value of the MetadataValue for KEY should have changed");
|
||||||
checkMetadataValue(keyMetadataValue);
|
checkMetadataValue(keyMetadataValue);
|
||||||
|
|
||||||
MetadataValue newKeyMetadataValue = catalogClient.getCatalogItemMetadataValue(catalogItemRef, "VEGIMITE");
|
MetadataValue newKeyMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "VEGIMITE");
|
||||||
// XXX
|
// XXX
|
||||||
assertEquals(newKeyMetadataValue.getValue(), "VALUE", "The Value of the MetadataValue for NEW_KEY should have been set");
|
assertEquals(newKeyMetadataValue.getValue(), "VALUE", "The Value of the MetadataValue for NEW_KEY should have been set");
|
||||||
checkMetadataValue(newKeyMetadataValue);
|
checkMetadataValue(newKeyMetadataValue);
|
||||||
|
@ -215,7 +215,7 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
return input.getKey().equals("KEY");
|
return input.getKey().equals("KEY");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MetadataValue metadataValue = catalogClient.getCatalogItemMetadataValue(catalogItemRef, "KEY");
|
MetadataValue metadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY");
|
||||||
assertEquals(existingMetadataEntry.getValue(), metadataValue.getValue());
|
assertEquals(existingMetadataEntry.getValue(), metadataValue.getValue());
|
||||||
checkMetadataValue(metadataValue);
|
checkMetadataValue(metadataValue);
|
||||||
}
|
}
|
||||||
|
@ -224,13 +224,13 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
public void testSetCatalogItemMetadataValue() {
|
public void testSetCatalogItemMetadataValue() {
|
||||||
MetadataValue newMetadataValue = MetadataValue.builder().value("NEW").build();
|
MetadataValue newMetadataValue = MetadataValue.builder().value("NEW").build();
|
||||||
|
|
||||||
Task setCatalogItemMetadataValue = catalogClient.setCatalogItemMetadataValue(catalogItemRef, "KEY", newMetadataValue);
|
Task setCatalogItemMetadataValue = catalogClient.getMetadataClient().setMetadata(catalogItemRef, "KEY", newMetadataValue);
|
||||||
checkTask(setCatalogItemMetadataValue);
|
checkTask(setCatalogItemMetadataValue);
|
||||||
Checks.checkTask(setCatalogItemMetadataValue);
|
Checks.checkTask(setCatalogItemMetadataValue);
|
||||||
assertTrue(retryTaskSuccess.apply(setCatalogItemMetadataValue),
|
assertTrue(retryTaskSuccess.apply(setCatalogItemMetadataValue),
|
||||||
String.format(TASK_COMPLETE_TIMELY, "setCatalogItemMetadataValue"));
|
String.format(TASK_COMPLETE_TIMELY, "setCatalogItemMetadataValue"));
|
||||||
|
|
||||||
MetadataValue updatedMetadataValue = catalogClient.getCatalogItemMetadataValue(catalogItemRef, "KEY");
|
MetadataValue updatedMetadataValue = catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY");
|
||||||
assertEquals(updatedMetadataValue.getValue(), newMetadataValue.getValue(),
|
assertEquals(updatedMetadataValue.getValue(), newMetadataValue.getValue(),
|
||||||
String.format(CORRECT_VALUE_OBJECT_FMT, "Value", "MetadataValue", newMetadataValue.getValue(), updatedMetadataValue.getValue()));
|
String.format(CORRECT_VALUE_OBJECT_FMT, "Value", "MetadataValue", newMetadataValue.getValue(), updatedMetadataValue.getValue()));
|
||||||
checkMetadataValue(updatedMetadataValue);
|
checkMetadataValue(updatedMetadataValue);
|
||||||
|
@ -238,13 +238,13 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
|
|
||||||
@Test(testName = "DELETE /catalog/{id}/metadata/{key}", dependsOnMethods = { "testSetCatalogItemMetadataValue" })
|
@Test(testName = "DELETE /catalog/{id}/metadata/{key}", dependsOnMethods = { "testSetCatalogItemMetadataValue" })
|
||||||
public void testDeleteCatalogItemMetadataValue() {
|
public void testDeleteCatalogItemMetadataValue() {
|
||||||
Task deleteCatalogItemMetadataValue = catalogClient.deleteCatalogItemMetadataValue(catalogItemRef, "KEY");
|
Task deleteCatalogItemMetadataValue = catalogClient.getMetadataClient().deleteMetadataEntry(catalogItemRef, "KEY");
|
||||||
checkTask(deleteCatalogItemMetadataValue);
|
checkTask(deleteCatalogItemMetadataValue);
|
||||||
Checks.checkTask(deleteCatalogItemMetadataValue);
|
Checks.checkTask(deleteCatalogItemMetadataValue);
|
||||||
assertTrue(retryTaskSuccess.apply(deleteCatalogItemMetadataValue),
|
assertTrue(retryTaskSuccess.apply(deleteCatalogItemMetadataValue),
|
||||||
String.format(TASK_COMPLETE_TIMELY, "deleteCatalogItemMetadataValue"));
|
String.format(TASK_COMPLETE_TIMELY, "deleteCatalogItemMetadataValue"));
|
||||||
try {
|
try {
|
||||||
catalogClient.getCatalogItemMetadataValue(catalogItemRef, "KEY");
|
catalogClient.getMetadataClient().getMetadataValue(catalogItemRef, "KEY");
|
||||||
fail("The CatalogItem MetadataValue for KEY should have been deleted");
|
fail("The CatalogItem MetadataValue for KEY should have been deleted");
|
||||||
} catch (VCloudDirectorException vcde) {
|
} catch (VCloudDirectorException vcde) {
|
||||||
Error error = vcde.getError();
|
Error error = vcde.getError();
|
||||||
|
@ -256,18 +256,18 @@ public class CatalogClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteAllCatalogItemMetadata(ReferenceType<?> catalogItemRef) {
|
private void deleteAllCatalogItemMetadata(ReferenceType<?> catalogItemRef) {
|
||||||
Metadata currentMetadata = catalogClient.getCatalogItemMetadata(catalogItemRef);
|
Metadata currentMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef);
|
||||||
for (MetadataEntry currentMetadataEntry : currentMetadata.getMetadataEntries()) {
|
for (MetadataEntry currentMetadataEntry : currentMetadata.getMetadataEntries()) {
|
||||||
catalogClient.deleteCatalogItemMetadataValue(catalogItemRef, currentMetadataEntry.getKey());
|
catalogClient.getMetadataClient().deleteMetadataEntry(catalogItemRef, currentMetadataEntry.getKey());
|
||||||
}
|
}
|
||||||
Metadata emptyMetadata = catalogClient.getCatalogItemMetadata(catalogItemRef);
|
Metadata emptyMetadata = catalogClient.getMetadataClient().getMetadata(catalogItemRef);
|
||||||
assertTrue(emptyMetadata.getMetadataEntries().isEmpty(), "The catalogItem Metadata should be empty");
|
assertTrue(emptyMetadata.getMetadataEntries().isEmpty(), "The catalogItem Metadata should be empty");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resetCatalogItemMetadata(ReferenceType<?> catalogItemRef) {
|
private void resetCatalogItemMetadata(ReferenceType<?> catalogItemRef) {
|
||||||
deleteAllCatalogItemMetadata(catalogItemRef);
|
deleteAllCatalogItemMetadata(catalogItemRef);
|
||||||
Metadata newMetadata = Metadata.builder().entry(MetadataEntry.builder().entry("KEY", "VALUE").build()).build();
|
Metadata newMetadata = Metadata.builder().entry(MetadataEntry.builder().entry("KEY", "VALUE").build()).build();
|
||||||
Task mergeCatalogItemMetadata = catalogClient.mergeCatalogItemMetadata(catalogItemRef, newMetadata);
|
Task mergeCatalogItemMetadata = catalogClient.getMetadataClient().mergeMetadata(catalogItemRef, newMetadata);
|
||||||
Checks.checkTask(mergeCatalogItemMetadata);
|
Checks.checkTask(mergeCatalogItemMetadata);
|
||||||
assertTrue(retryTaskSuccess.apply(mergeCatalogItemMetadata),
|
assertTrue(retryTaskSuccess.apply(mergeCatalogItemMetadata),
|
||||||
String.format(TASK_COMPLETE_TIMELY, "mergeCatalogItemMetadata"));
|
String.format(TASK_COMPLETE_TIMELY, "mergeCatalogItemMetadata"));
|
||||||
|
|
|
@ -47,7 +47,7 @@ import org.testng.annotations.Test;
|
||||||
*
|
*
|
||||||
* @author danikov
|
* @author danikov
|
||||||
*/
|
*/
|
||||||
@Test(groups = { "unit", "user", "media" }, singleThreaded = true, testName = "MediaClientExpectTest")
|
@Test(groups = { "unit", "media" }, singleThreaded = true, testName = "MediaClientExpectTest")
|
||||||
public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTest {
|
public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -280,7 +280,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes
|
||||||
|
|
||||||
Metadata expected = metadata();
|
Metadata expected = metadata();
|
||||||
|
|
||||||
assertEquals(client.getMediaClient().getMetadata(mediaRef), expected);
|
assertEquals(client.getMediaClient().getMetadataClient().getMetadata(mediaRef), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -301,7 +301,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes
|
||||||
Metadata inputMetadata = metadata();
|
Metadata inputMetadata = metadata();
|
||||||
Task expectedTask = mergeMetadataTask();
|
Task expectedTask = mergeMetadataTask();
|
||||||
|
|
||||||
assertEquals(client.getMediaClient().mergeMetadata(mediaRef, inputMetadata), expectedTask);
|
assertEquals(client.getMediaClient().getMetadataClient().mergeMetadata(mediaRef, inputMetadata), expectedTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testGetMetadataValue() {
|
public void testGetMetadataValue() {
|
||||||
|
@ -320,7 +320,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes
|
||||||
|
|
||||||
Reference mediaRef = Reference.builder().href(mediaUri).build();
|
Reference mediaRef = Reference.builder().href(mediaUri).build();
|
||||||
|
|
||||||
assertEquals(client.getMediaClient().getMetadataValue(mediaRef, "key"), expected);
|
assertEquals(client.getMediaClient().getMetadataClient().getMetadataValue(mediaRef, "key"), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -342,7 +342,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes
|
||||||
|
|
||||||
Task expectedTask = setMetadataEntryTask();
|
Task expectedTask = setMetadataEntryTask();
|
||||||
|
|
||||||
assertEquals(client.getMediaClient().setMetadata(mediaRef, "key", inputMetadataValue), expectedTask);
|
assertEquals(client.getMediaClient().getMetadataClient().setMetadata(mediaRef, "key", inputMetadataValue), expectedTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -361,7 +361,7 @@ public class MediaClientExpectTest extends BaseVCloudDirectorRestClientExpectTes
|
||||||
Reference mediaRef = Reference.builder().href(mediaUri).build();
|
Reference mediaRef = Reference.builder().href(mediaUri).build();
|
||||||
Task expectedTask = deleteMetadataEntryTask();
|
Task expectedTask = deleteMetadataEntryTask();
|
||||||
|
|
||||||
assertEquals(client.getMediaClient().deleteMetadataEntry(mediaRef, "key"), expectedTask);
|
assertEquals(client.getMediaClient().getMetadataClient().deleteMetadataEntry(mediaRef, "key"), expectedTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -175,7 +175,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
Checks.checkMediaFor(MEDIA, media);
|
Checks.checkMediaFor(MEDIA, media);
|
||||||
assertTrue(media.clone(oldMedia), "");
|
assertTrue(media.clone(oldMedia), "");
|
||||||
|
|
||||||
mediaClient.setMetadata(media, "key", MetadataValue.builder().value("value").build());
|
mediaClient.getMetadataClient().setMetadata(media, "key", MetadataValue.builder().value("value").build());
|
||||||
|
|
||||||
media = vdcClient.cloneMedia(vdcRef, CloneMediaParams.builder()
|
media = vdcClient.cloneMedia(vdcRef, CloneMediaParams.builder()
|
||||||
.source(Reference.builder().fromEntity(media).build())
|
.source(Reference.builder().fromEntity(media).build())
|
||||||
|
@ -232,7 +232,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
@Test(testName = "GET /media/{id}/metadata",
|
@Test(testName = "GET /media/{id}/metadata",
|
||||||
dependsOnMethods = { "testGetMedia" }, enabled = false)
|
dependsOnMethods = { "testGetMedia" }, enabled = false)
|
||||||
public void testGetMetadata() {
|
public void testGetMetadata() {
|
||||||
metadata = mediaClient.getMetadata(media);
|
metadata = mediaClient.getMetadataClient().getMetadata(media);
|
||||||
// required for testing
|
// required for testing
|
||||||
assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()),
|
assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()),
|
||||||
String.format(OBJ_FIELD_REQ_LIVE, MEDIA, "metadata.entries"));
|
String.format(OBJ_FIELD_REQ_LIVE, MEDIA, "metadata.entries"));
|
||||||
|
@ -249,10 +249,10 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
.entries(inputEntries)
|
.entries(inputEntries)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
Task mergeMetadata = mediaClient.mergeMetadata(media, inputMetadata);
|
Task mergeMetadata = mediaClient.getMetadataClient().mergeMetadata(media, inputMetadata);
|
||||||
Checks.checkTask(mergeMetadata);
|
Checks.checkTask(mergeMetadata);
|
||||||
assertTrue(retryTaskSuccess.apply(mergeMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeMetadata(new)"));
|
assertTrue(retryTaskSuccess.apply(mergeMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeMetadata(new)"));
|
||||||
metadata = mediaClient.getMetadata(media);
|
metadata = mediaClient.getMetadataClient().getMetadata(media);
|
||||||
Checks.checkMetadataFor(MEDIA, metadata);
|
Checks.checkMetadataFor(MEDIA, metadata);
|
||||||
checkMetadataContainsEntries(metadata, inputEntries);
|
checkMetadataContainsEntries(metadata, inputEntries);
|
||||||
|
|
||||||
|
@ -265,10 +265,10 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
.entries(inputEntries)
|
.entries(inputEntries)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
mergeMetadata = mediaClient.mergeMetadata(media, inputMetadata);
|
mergeMetadata = mediaClient.getMetadataClient().mergeMetadata(media, inputMetadata);
|
||||||
Checks.checkTask(mergeMetadata);
|
Checks.checkTask(mergeMetadata);
|
||||||
assertTrue(retryTaskSuccess.apply(mergeMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeMetadata(modify)"));
|
assertTrue(retryTaskSuccess.apply(mergeMetadata), String.format(TASK_COMPLETE_TIMELY, "mergeMetadata(modify)"));
|
||||||
metadata = mediaClient.getMetadata(media);
|
metadata = mediaClient.getMetadataClient().getMetadata(media);
|
||||||
Checks.checkMetadataFor(MEDIA, metadata);
|
Checks.checkMetadataFor(MEDIA, metadata);
|
||||||
checkMetadataContainsEntries(metadata, inputEntries);
|
checkMetadataContainsEntries(metadata, inputEntries);
|
||||||
|
|
||||||
|
@ -296,7 +296,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
@Test(testName = "GET /media/{id}/metadata/{key}",
|
@Test(testName = "GET /media/{id}/metadata/{key}",
|
||||||
dependsOnMethods = { "testMergeMetadata" }, enabled = false)
|
dependsOnMethods = { "testMergeMetadata" }, enabled = false)
|
||||||
public void testGetMetadataValue() {
|
public void testGetMetadataValue() {
|
||||||
metadataValue = mediaClient.getMetadataValue(media, "key");
|
metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "key");
|
||||||
Checks.checkMetadataValueFor(MEDIA, metadataValue);
|
Checks.checkMetadataValueFor(MEDIA, metadataValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,18 +306,18 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
metadataEntryValue = "newValue";
|
metadataEntryValue = "newValue";
|
||||||
MetadataValue newValue = MetadataValue.builder().value(metadataEntryValue).build();
|
MetadataValue newValue = MetadataValue.builder().value(metadataEntryValue).build();
|
||||||
|
|
||||||
Task setMetadataEntry = mediaClient.setMetadata(media, "key", newValue);
|
Task setMetadataEntry = mediaClient.getMetadataClient().setMetadata(media, "key", newValue);
|
||||||
Checks.checkTask(setMetadataEntry);
|
Checks.checkTask(setMetadataEntry);
|
||||||
assertTrue(retryTaskSuccess.apply(setMetadataEntry),
|
assertTrue(retryTaskSuccess.apply(setMetadataEntry),
|
||||||
String.format(TASK_COMPLETE_TIMELY, "setMetadataEntry"));
|
String.format(TASK_COMPLETE_TIMELY, "setMetadataEntry"));
|
||||||
metadataValue = mediaClient.getMetadataValue(media, "key");
|
metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "key");
|
||||||
Checks.checkMetadataValueFor(MEDIA, metadataValue);
|
Checks.checkMetadataValueFor(MEDIA, metadataValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(testName = "DELETE /media/{id}/metadata/{key}",
|
@Test(testName = "DELETE /media/{id}/metadata/{key}",
|
||||||
dependsOnMethods = { "testSetMetadataValue" }, enabled = false )
|
dependsOnMethods = { "testSetMetadataValue" }, enabled = false )
|
||||||
public void testDeleteMetadata() {
|
public void testDeleteMetadata() {
|
||||||
Task deleteMetadataEntry = mediaClient.deleteMetadataEntry(media, "testKey");
|
Task deleteMetadataEntry = mediaClient.getMetadataClient().deleteMetadataEntry(media, "testKey");
|
||||||
Checks.checkTask(deleteMetadataEntry);
|
Checks.checkTask(deleteMetadataEntry);
|
||||||
assertTrue(retryTaskSuccess.apply(deleteMetadataEntry),
|
assertTrue(retryTaskSuccess.apply(deleteMetadataEntry),
|
||||||
String.format(TASK_COMPLETE_TIMELY, "deleteMetadataEntry"));
|
String.format(TASK_COMPLETE_TIMELY, "deleteMetadataEntry"));
|
||||||
|
@ -329,7 +329,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
metadataValue = mediaClient.getMetadataValue(media, "testKey");
|
metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "testKey");
|
||||||
fail("Should give HTTP 403 error");
|
fail("Should give HTTP 403 error");
|
||||||
} catch (VCloudDirectorException vde) {
|
} catch (VCloudDirectorException vde) {
|
||||||
assertEquals(vde.getError(), expected);
|
assertEquals(vde.getError(), expected);
|
||||||
|
@ -344,7 +344,7 @@ public class MediaClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
"metadataEntry", metadataValue.toString()));
|
"metadataEntry", metadataValue.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
metadataValue = mediaClient.getMetadataValue(media, "key");
|
metadataValue = mediaClient.getMetadataClient().getMetadataValue(media, "key");
|
||||||
Checks.checkMetadataValueFor(MEDIA, metadataValue);
|
Checks.checkMetadataValueFor(MEDIA, metadataValue);
|
||||||
|
|
||||||
media = mediaClient.getMedia(media);
|
media = mediaClient.getMedia(media);
|
||||||
|
|
|
@ -164,7 +164,7 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
|
|
||||||
Reference networkRef = Reference.builder().href(networkUri).build();
|
Reference networkRef = Reference.builder().href(networkUri).build();
|
||||||
|
|
||||||
assertEquals(client.getNetworkClient().getMetadata(networkRef), expected);
|
assertEquals(client.getNetworkClient().getMetadataClient().getMetadata(networkRef), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(enabled=false) // No metadata in exemplar xml...
|
@Test(enabled=false) // No metadata in exemplar xml...
|
||||||
|
@ -181,7 +181,7 @@ public class NetworkClientExpectTest extends BaseVCloudDirectorRestClientExpectT
|
||||||
|
|
||||||
Reference networkRef = Reference.builder().href(networkUri).build();
|
Reference networkRef = Reference.builder().href(networkUri).build();
|
||||||
|
|
||||||
assertEquals(client.getNetworkClient().getMetadataValue(networkRef, "KEY"), expected);
|
assertEquals(client.getNetworkClient().getMetadataClient().getMetadataValue(networkRef, "KEY"), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OrgNetwork orgNetwork() {
|
public static OrgNetwork orgNetwork() {
|
||||||
|
|
|
@ -100,7 +100,7 @@ public class NetworkClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
|
|
||||||
@Test(testName = "GET /network/{id}/metadata")
|
@Test(testName = "GET /network/{id}/metadata")
|
||||||
public void testGetMetadata() {
|
public void testGetMetadata() {
|
||||||
Metadata metadata = networkClient.getMetadata(networkRef);
|
Metadata metadata = networkClient.getMetadataClient().getMetadata(networkRef);
|
||||||
// required for testing
|
// required for testing
|
||||||
assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()),
|
assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()),
|
||||||
String.format(OBJ_FIELD_REQ_LIVE, NETWORK, "metadata.entries"));
|
String.format(OBJ_FIELD_REQ_LIVE, NETWORK, "metadata.entries"));
|
||||||
|
@ -122,7 +122,7 @@ public class NetworkClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
|
|
||||||
@Test(testName = "GET /network/{id}/metadata/{key}")
|
@Test(testName = "GET /network/{id}/metadata/{key}")
|
||||||
public void testGetMetadataValue() {
|
public void testGetMetadataValue() {
|
||||||
MetadataValue metadataValue = networkClient.getMetadataValue(networkRef, "key");
|
MetadataValue metadataValue = networkClient.getMetadataClient().getMetadataValue(networkRef, "key");
|
||||||
|
|
||||||
// Check parent type
|
// Check parent type
|
||||||
checkResourceType(metadataValue);
|
checkResourceType(metadataValue);
|
||||||
|
|
|
@ -195,7 +195,7 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest
|
||||||
|
|
||||||
Reference orgRef = Reference.builder().href(orgUri).build();
|
Reference orgRef = Reference.builder().href(orgUri).build();
|
||||||
|
|
||||||
assertEquals(client.getOrgClient().getOrgMetadata(orgRef), expected);
|
assertEquals(client.getOrgClient().getMetadataClient().getMetadata(orgRef), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -210,7 +210,7 @@ public class OrgClientExpectTest extends BaseVCloudDirectorRestClientExpectTest
|
||||||
|
|
||||||
Reference orgRef = Reference.builder().href(orgUri).build();
|
Reference orgRef = Reference.builder().href(orgUri).build();
|
||||||
|
|
||||||
assertEquals(client.getOrgClient().getOrgMetadataValue(orgRef, "KEY"), expected);
|
assertEquals(client.getOrgClient().getMetadataClient().getMetadataValue(orgRef, "KEY"), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Org org() {
|
public static Org org() {
|
||||||
|
|
|
@ -97,7 +97,7 @@ public class OrgClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
@Test(testName = "GET /org/{id}/metadata/", dependsOnMethods = { "testGetOrg" })
|
@Test(testName = "GET /org/{id}/metadata/", dependsOnMethods = { "testGetOrg" })
|
||||||
public void testGetOrgMetadata() {
|
public void testGetOrgMetadata() {
|
||||||
// Call the method being tested
|
// Call the method being tested
|
||||||
Metadata metadata = orgClient.getOrgMetadata(orgRef);
|
Metadata metadata = orgClient.getMetadataClient().getMetadata(orgRef);
|
||||||
|
|
||||||
// NOTE The environment MUST have at one metadata entry for the first organisation configured
|
// NOTE The environment MUST have at one metadata entry for the first organisation configured
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ public class OrgClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
@Test(testName = "GET /org/{id}/metadata/{key}", dependsOnMethods = { "testGetOrgMetadata" })
|
@Test(testName = "GET /org/{id}/metadata/{key}", dependsOnMethods = { "testGetOrgMetadata" })
|
||||||
public void testGetOrgMetadataValue() {
|
public void testGetOrgMetadataValue() {
|
||||||
// Call the method being tested
|
// Call the method being tested
|
||||||
MetadataValue value = orgClient.getOrgMetadataValue(orgRef, "KEY");
|
MetadataValue value = orgClient.getMetadataClient().getMetadataValue(orgRef, "KEY");
|
||||||
|
|
||||||
// NOTE The environment MUST have configured the metadata entry as '{ key="KEY", value="VALUE" )'
|
// NOTE The environment MUST have configured the metadata entry as '{ key="KEY", value="VALUE" )'
|
||||||
|
|
||||||
|
|
|
@ -349,7 +349,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest
|
||||||
|
|
||||||
Metadata expected = metadata();
|
Metadata expected = metadata();
|
||||||
|
|
||||||
assertEquals(client.getMediaClient().getMetadata(mediaRef), expected);
|
assertEquals(client.getVdcClient().getMetadataClient().getMetadata(mediaRef), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(enabled = false)
|
@Test(enabled = false)
|
||||||
|
@ -369,7 +369,7 @@ public class VdcClientExpectTest extends BaseVCloudDirectorRestClientExpectTest
|
||||||
|
|
||||||
Reference mediaRef = Reference.builder().href(vdcUri).build();
|
Reference mediaRef = Reference.builder().href(vdcUri).build();
|
||||||
|
|
||||||
assertEquals(client.getVdcClient().getMetadataValue(mediaRef, "key"), expected);
|
assertEquals(client.getVdcClient().getMetadataClient().getMetadataValue(mediaRef, "key"), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Vdc getVdc() {
|
public static Vdc getVdc() {
|
||||||
|
|
|
@ -243,7 +243,7 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
|
|
||||||
@Test(testName = "GET /network/{id}/metadata", enabled = false)
|
@Test(testName = "GET /network/{id}/metadata", enabled = false)
|
||||||
public void testGetMetadata() {
|
public void testGetMetadata() {
|
||||||
Metadata metadata = vdcClient.getMetadata(vdcRef);
|
Metadata metadata = vdcClient.getMetadataClient().getMetadata(vdcRef);
|
||||||
// required for testing
|
// required for testing
|
||||||
assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()),
|
assertFalse(Iterables.isEmpty(metadata.getMetadataEntries()),
|
||||||
String.format(OBJ_FIELD_REQ_LIVE, VDC, "metadata.entries"));
|
String.format(OBJ_FIELD_REQ_LIVE, VDC, "metadata.entries"));
|
||||||
|
@ -253,7 +253,7 @@ public class VdcClientLiveTest extends BaseVCloudDirectorClientLiveTest {
|
||||||
|
|
||||||
@Test(testName = "GET /network/{id}/metadata/{key}", enabled = false)
|
@Test(testName = "GET /network/{id}/metadata/{key}", enabled = false)
|
||||||
public void testGetMetadataValue() {
|
public void testGetMetadataValue() {
|
||||||
MetadataValue metadataValue = vdcClient.getMetadataValue(vdcRef, "key");
|
MetadataValue metadataValue = vdcClient.getMetadataClient().getMetadataValue(vdcRef, "key");
|
||||||
|
|
||||||
Checks.checkMetadataValueFor(VDC, metadataValue);
|
Checks.checkMetadataValueFor(VDC, metadataValue);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue