public class ConnectionImpl extends AbstractConnection
| Modifier and Type | Field and Description |
|---|---|
protected static String |
INTERNAL_SERVER_ERROR |
STATUS_URL| Constructor and Description |
|---|
ConnectionImpl(String driverName,
VitamClientFactoryInterface<? extends AbstractConnection> factory,
Properties parameters)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
StorageCheckResult |
checkObject(StorageCheckRequest request)
Check an object in order to validate its transfer
|
void |
checkStatus()
Check the status from the service
|
void |
checkStatus(javax.ws.rs.core.MultivaluedHashMap<String,Object> headers)
Check the status from the service
used to passe "X-SSL-CLIENT-CERT" header that contain a pem certificate
|
void |
close()
Close the underneath http client
|
void |
consumeAnyEntityAndClose(javax.ws.rs.core.Response response)
Helper when an error occurs on client usage side to consume response however
|
StorageCountResult |
countObjects(StorageRequest request)
Count the number of binary objects ine the container
|
protected VitamClientException |
createExceptionFromResponse(javax.ws.rs.core.Response response)
Handle all errors and throw a VitamClientException in case the response does not contains a vitamError type
result.
|
protected javax.ws.rs.client.Client |
getClient(boolean chunked) |
StorageMetadatasResult |
getMetadatas(StorageObjectRequest request)
Get metadata of object
|
StorageGetResult |
getObject(StorageObjectRequest request)
Retrieve an object from the storage offer based on criterias defined in request argument.
|
RequestResponse<OfferLog> |
getOfferLogs(StorageOfferLogRequest storageGetOfferLogRequest)
Get a listing of offer logs on a container type
|
String |
getResourcePath()
Get the resource path of the server.
|
String |
getServiceUrl()
Get the service URL
|
StorageCapacityResult |
getStorageCapacity(Integer tenantId)
Retrieve the remaining storage capacity available on the distant offer.
|
VitamClientFactory<?> |
getVitamClientFactory() |
protected <R> R |
handleResponseStatus(javax.ws.rs.core.Response response,
Class<R> responseType)
Common method to handle response status
|
RequestResponse<com.fasterxml.jackson.databind.JsonNode> |
listObjects(StorageListRequest request)
List object on a container type
|
boolean |
objectExistsInOffer(StorageObjectRequest request)
Check if an object is present in the offer
|
protected Future<javax.ws.rs.core.Response> |
performAsyncRequest(String httpMethod,
String path,
javax.ws.rs.core.MultivaluedHashMap<String,Object> headers,
Object body,
javax.ws.rs.core.MediaType contentType,
javax.ws.rs.core.MediaType accept)
Perform an Async HTTP request to the server with full control of action on caller
|
protected <T> Future<T> |
performAsyncRequest(String httpMethod,
String path,
javax.ws.rs.core.MultivaluedHashMap<String,Object> headers,
Object body,
javax.ws.rs.core.MediaType contentType,
javax.ws.rs.core.MediaType accept,
javax.ws.rs.client.InvocationCallback<T> callback)
Perform an Async HTTP request to the server with callback
|
protected javax.ws.rs.core.Response |
performRequest(String httpMethod,
String path,
javax.ws.rs.core.MultivaluedHashMap<String,Object> headers,
javax.ws.rs.core.MediaType accept)
Perform a HTTP request to the server for synchronous call
|
protected javax.ws.rs.core.Response |
performRequest(String httpMethod,
String path,
javax.ws.rs.core.MultivaluedHashMap<String,Object> headers,
Object body,
javax.ws.rs.core.MediaType contentType,
javax.ws.rs.core.MediaType accept)
Perform a HTTP request to the server for synchronous call
|
protected javax.ws.rs.core.Response |
performRequest(String httpMethod,
String path,
javax.ws.rs.core.MultivaluedHashMap<String,Object> headers,
Object body,
javax.ws.rs.core.MediaType contentType,
javax.ws.rs.core.MediaType accept,
boolean chunkedMode)
Perform a HTTP request to the server for synchronous call
|
StoragePutResult |
putObject(StoragePutRequest request)
Put the object file into the storage offer based on criterias defined in request argument and underlaying
connection parameters.
|
StorageRemoveResult |
removeObject(StorageRemoveRequest request)
Delete an object on the distant storage offer.
|
static void |
staticConsumeAnyEntityAndClose(javax.ws.rs.core.Response response)
This method consume everything (in particular InpuStream) and close the response.
|
String |
toString() |
getDriverNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcloseprotected static final String INTERNAL_SERVER_ERROR
public ConnectionImpl(String driverName, VitamClientFactoryInterface<? extends AbstractConnection> factory, Properties parameters)
driverName - factory - parameters - public StorageCapacityResult getStorageCapacity(Integer tenantId) throws StorageDriverPreconditionFailedException, StorageDriverNotFoundException, StorageDriverException
ConnectiontenantId - the tenant id needed to get storage capacityStorageDriverPreconditionFailedException - if a bad request is encounteredStorageDriverNotFoundException - if container is not foundStorageDriverException - if any problem occurs during requestpublic StorageCountResult countObjects(StorageRequest request) throws StorageDriverException
Connectionrequest - the request to send. It contains informations of the container.StorageDriverException - if any problem occurs during requestpublic StorageGetResult getObject(StorageObjectRequest request) throws StorageDriverException
Connectionrequest - the request to send. It contains informations needed to retrieve a given object.StorageDriverException - if any problem occurs during requestpublic StoragePutResult putObject(StoragePutRequest request) throws StorageDriverException
Connectionrequest - the request to send. It may contains informations needed to store the file.StorageDriverException - if any problem occurs during requestpublic StorageRemoveResult removeObject(StorageRemoveRequest request) throws StorageDriverException
Connectionrequest - the request to send, it contains information needed to delete an object on the distant storeStorageDriverException - if any problem occurs during requestpublic boolean objectExistsInOffer(StorageObjectRequest request) throws StorageDriverException
Connectionrequest - the request to send. It contains informations needed to retrieve a given object.StorageDriverException - if any problem occurs during requestprotected <R> R handleResponseStatus(javax.ws.rs.core.Response response,
Class<R> responseType)
throws StorageDriverException
R - the class type to be returnedresponse - the response to be handledresponseType - the type to map the response intoStorageDriverException - if any from the serverpublic StorageCheckResult checkObject(StorageCheckRequest request) throws StorageDriverException
Connectionrequest - the request to send. It contains informations needed to check the object.StorageDriverException - if any problem occurs during requestpublic StorageMetadatasResult getMetadatas(StorageObjectRequest request) throws StorageDriverException
ConnectionStorageDriverExceptionpublic RequestResponse<com.fasterxml.jackson.databind.JsonNode> listObjects(StorageListRequest request) throws StorageDriverException
Connectionrequest - the request contains data needed to list container typeStorageDriverExceptionpublic RequestResponse<OfferLog> getOfferLogs(StorageOfferLogRequest storageGetOfferLogRequest) throws StorageDriverException
ConnectionstorageGetOfferLogRequest - the request contains data needed to retrieve the listing of the containerStorageDriverException - to be thrown in case of any driver exceptionprotected javax.ws.rs.client.Client getClient(boolean chunked)
throws IllegalStateException
IllegalStateExceptionpublic final void consumeAnyEntityAndClose(javax.ws.rs.core.Response response)
MockOrRestClientconsumeAnyEntityAndClose in interface MockOrRestClientpublic static final void staticConsumeAnyEntityAndClose(javax.ws.rs.core.Response response)
response - public void checkStatus()
throws VitamApplicationServerException
MockOrRestClientcheckStatus in interface MockOrRestClientVitamApplicationServerException - if the Server is unavailablepublic void checkStatus(javax.ws.rs.core.MultivaluedHashMap<String,Object> headers) throws VitamApplicationServerException
MockOrRestClientcheckStatus in interface MockOrRestClientVitamApplicationServerException - if the Server is unavailableprotected javax.ws.rs.core.Response performRequest(String httpMethod, String path, javax.ws.rs.core.MultivaluedHashMap<String,Object> headers, javax.ws.rs.core.MediaType accept) throws VitamClientInternalException
httpMethod - HTTP method to use for requestpath - URL to requestheaders - headers HTTP to add to request, may be nullaccept - asked type of responseVitamClientInternalExceptionprotected javax.ws.rs.core.Response performRequest(String httpMethod, String path, javax.ws.rs.core.MultivaluedHashMap<String,Object> headers, Object body, javax.ws.rs.core.MediaType contentType, javax.ws.rs.core.MediaType accept) throws VitamClientInternalException
httpMethod - HTTP method to use for requestpath - URL to requestheaders - headers HTTP to add to request, may be nullbody - body content of type contentType, may be nullcontentType - the media type of the body to send, null if body is nullaccept - asked type of responseVitamClientInternalExceptionprotected javax.ws.rs.core.Response performRequest(String httpMethod, String path, javax.ws.rs.core.MultivaluedHashMap<String,Object> headers, Object body, javax.ws.rs.core.MediaType contentType, javax.ws.rs.core.MediaType accept, boolean chunkedMode) throws VitamClientInternalException
httpMethod - HTTP method to use for requestpath - URL to requestheaders - headers HTTP to add to request, may be nullbody - body content of type contentType, may be nullcontentType - the media type of the body to send, null if body is nullaccept - asked type of responsechunkedMode - True use default client, else False use non Chunked mode clientVitamClientInternalExceptionprotected <T> Future<T> performAsyncRequest(String httpMethod, String path, javax.ws.rs.core.MultivaluedHashMap<String,Object> headers, Object body, javax.ws.rs.core.MediaType contentType, javax.ws.rs.core.MediaType accept, javax.ws.rs.client.InvocationCallback<T> callback) throws VitamClientInternalException
T - the type of the Future result (generally Response)httpMethod - HTTP method to use for requestpath - URL to requestheaders - headers HTTP to add to request, may be nullbody - body content of type contentType, may be nullcontentType - the media type of the body to send, null if body is nullaccept - asked type of responsecallback - VitamClientInternalExceptionprotected Future<javax.ws.rs.core.Response> performAsyncRequest(String httpMethod, String path, javax.ws.rs.core.MultivaluedHashMap<String,Object> headers, Object body, javax.ws.rs.core.MediaType contentType, javax.ws.rs.core.MediaType accept) throws VitamClientInternalException
httpMethod - HTTP method to use for requestpath - URL to requestheaders - headers HTTP to add to request, may be nullbody - body content of type contentType, may be nullcontentType - the media type of the body to send, null if body is nullaccept - asked type of responseVitamClientInternalExceptionprotected VitamClientException createExceptionFromResponse(javax.ws.rs.core.Response response)
response - responsepublic String getResourcePath()
MockOrRestClientgetResourcePath in interface MockOrRestClientpublic String getServiceUrl()
MockOrRestClientgetServiceUrl in interface MockOrRestClientpublic void close()
MockOrRestClientclose in interface MockOrRestClientclose in interface VitamAutoCloseableclose in interface AutoCloseablepublic VitamClientFactory<?> getVitamClientFactory()
Copyright © 2018 Vitam. All rights reserved.