@RunWithCustomExecutor @Test public void existsWithObjectIdIllegalArgumentException() throws Exception { VitamThreadUtils.getVitamSession().setTenantId(TENANT_ID); when(mock.head()).thenReturn(Response.status(Response.Status.NO_CONTENT).build()); assertThatThrownBy(() -> { client.exists("idStrategy", DataCategory.OBJECT, "", Collections.emptyList()); }).isInstanceOf(IllegalArgumentException.class); }
@Override public Map<String, Boolean> exists(String strategyId, DataCategory type, String guid, List<String> offerIds) throws StorageServerClientException { Integer tenantId = ParameterHelper.getTenantParameter(); ParametersChecker.checkParameter(STRATEGY_ID_MUST_HAVE_A_VALID_VALUE, strategyId); ParametersChecker.checkParameter(TYPE_OF_STORAGE_OBJECT_MUST_HAVE_A_VALID_VALUE, type); ParametersChecker.checkParameter(GUID_MUST_HAVE_A_VALID_VALUE, guid); VitamRequestBuilder request = head() .withPath("/" + type.name() + "/" + guid) .withHeader(GlobalDataRest.X_TENANT_ID, tenantId) .withHeader(GlobalDataRest.X_STRATEGY_ID, strategyId) .withJsonAccept(); for (String offerId : offerIds) { request.withHeader(GlobalDataRest.X_OFFER_IDS, offerId); } try (Response response = make(request)) { notContentResponseToBoolean(handleNoContentResponseStatus(response)); Map<String, Boolean> result = new HashMap<>(); for (String offerId : offerIds) { result.put(offerId, response.getHeaders().containsKey(offerId) && response.getHeaders().get(offerId) != null ? BooleanUtils.toBoolean(response.getHeaderString(offerId)) : Boolean.FALSE); } return result; } catch (final VitamClientInternalException e) { final String errorMessage = VitamCodeHelper.getMessageFromVitamCode(VitamCode.STORAGE_TECHNICAL_INTERNAL_ERROR); LOGGER.error(errorMessage, e); throw new StorageServerClientException(errorMessage, e); } }
StorageClientRest extends DefaultClient implements StorageClient { @Override public Map<String, Boolean> exists(String strategyId, DataCategory type, String guid, List<String> offerIds) throws StorageServerClientException { Integer tenantId = ParameterHelper.getTenantParameter(); ParametersChecker.checkParameter(STRATEGY_ID_MUST_HAVE_A_VALID_VALUE, strategyId); ParametersChecker.checkParameter(TYPE_OF_STORAGE_OBJECT_MUST_HAVE_A_VALID_VALUE, type); ParametersChecker.checkParameter(GUID_MUST_HAVE_A_VALID_VALUE, guid); VitamRequestBuilder request = head() .withPath("/" + type.name() + "/" + guid) .withHeader(GlobalDataRest.X_TENANT_ID, tenantId) .withHeader(GlobalDataRest.X_STRATEGY_ID, strategyId) .withJsonAccept(); for (String offerId : offerIds) { request.withHeader(GlobalDataRest.X_OFFER_IDS, offerId); } try (Response response = make(request)) { notContentResponseToBoolean(handleNoContentResponseStatus(response)); Map<String, Boolean> result = new HashMap<>(); for (String offerId : offerIds) { result.put(offerId, response.getHeaders().containsKey(offerId) && response.getHeaders().get(offerId) != null ? BooleanUtils.toBoolean(response.getHeaderString(offerId)) : Boolean.FALSE); } return result; } catch (final VitamClientInternalException e) { final String errorMessage = VitamCodeHelper.getMessageFromVitamCode(VitamCode.STORAGE_TECHNICAL_INTERNAL_ERROR); LOGGER.error(errorMessage, e); throw new StorageServerClientException(errorMessage, e); } } }
StorageClientRest extends DefaultClient implements StorageClient { @Override public Map<String, Boolean> exists(String strategyId, DataCategory type, String guid, List<String> offerIds) throws StorageServerClientException { Integer tenantId = ParameterHelper.getTenantParameter(); ParametersChecker.checkParameter(STRATEGY_ID_MUST_HAVE_A_VALID_VALUE, strategyId); ParametersChecker.checkParameter(TYPE_OF_STORAGE_OBJECT_MUST_HAVE_A_VALID_VALUE, type); ParametersChecker.checkParameter(GUID_MUST_HAVE_A_VALID_VALUE, guid); VitamRequestBuilder request = head() .withPath("/" + type.name() + "/" + guid) .withHeader(GlobalDataRest.X_TENANT_ID, tenantId) .withHeader(GlobalDataRest.X_STRATEGY_ID, strategyId) .withJsonAccept(); for (String offerId : offerIds) { request.withHeader(GlobalDataRest.X_OFFER_IDS, offerId); } try (Response response = make(request)) { notContentResponseToBoolean(handleNoContentResponseStatus(response)); Map<String, Boolean> result = new HashMap<>(); for (String offerId : offerIds) { result.put(offerId, response.getHeaders().containsKey(offerId) && response.getHeaders().get(offerId) != null ? BooleanUtils.toBoolean(response.getHeaderString(offerId)) : Boolean.FALSE); } return result; } catch (final VitamClientInternalException e) { final String errorMessage = VitamCodeHelper.getMessageFromVitamCode(VitamCode.STORAGE_TECHNICAL_INTERNAL_ERROR); LOGGER.error(errorMessage, e); throw new StorageServerClientException(errorMessage, e); } } StorageClientRest(StorageClientFactory factory); }
StorageClientRest extends DefaultClient implements StorageClient { @Override public Map<String, Boolean> exists(String strategyId, DataCategory type, String guid, List<String> offerIds) throws StorageServerClientException { Integer tenantId = ParameterHelper.getTenantParameter(); ParametersChecker.checkParameter(STRATEGY_ID_MUST_HAVE_A_VALID_VALUE, strategyId); ParametersChecker.checkParameter(TYPE_OF_STORAGE_OBJECT_MUST_HAVE_A_VALID_VALUE, type); ParametersChecker.checkParameter(GUID_MUST_HAVE_A_VALID_VALUE, guid); VitamRequestBuilder request = head() .withPath("/" + type.name() + "/" + guid) .withHeader(GlobalDataRest.X_TENANT_ID, tenantId) .withHeader(GlobalDataRest.X_STRATEGY_ID, strategyId) .withJsonAccept(); for (String offerId : offerIds) { request.withHeader(GlobalDataRest.X_OFFER_IDS, offerId); } try (Response response = make(request)) { notContentResponseToBoolean(handleNoContentResponseStatus(response)); Map<String, Boolean> result = new HashMap<>(); for (String offerId : offerIds) { result.put(offerId, response.getHeaders().containsKey(offerId) && response.getHeaders().get(offerId) != null ? BooleanUtils.toBoolean(response.getHeaderString(offerId)) : Boolean.FALSE); } return result; } catch (final VitamClientInternalException e) { final String errorMessage = VitamCodeHelper.getMessageFromVitamCode(VitamCode.STORAGE_TECHNICAL_INTERNAL_ERROR); LOGGER.error(errorMessage, e); throw new StorageServerClientException(errorMessage, e); } } StorageClientRest(StorageClientFactory factory); @Override JsonNode getStorageInformation(String strategyId); @Override List<String> getOffers(String strategyId); @Override StoredInfoResult storeFileFromWorkspace(String strategyId, DataCategory type, String guid,
        ObjectDescription description); @Override BulkObjectStoreResponse bulkStoreFilesFromWorkspace(String strategyId,
        BulkObjectStoreRequest bulkObjectStoreRequest); @Override boolean existsContainer(String strategyId); @Override Map<String, Boolean> exists(String strategyId, DataCategory type, String guid, List<String> offerIds); @Override JsonNode getInformation(String strategyId, DataCategory type, String guid, List<String> offerIds,
        boolean noCache); @Override RequestResponse<BatchObjectInformationResponse> getBatchObjectInformation(String strategyId,
        DataCategory type, Collection<String> offerIds,
        Collection<String> objectIds); @Override boolean delete(String strategyId, DataCategory type, String guid); @Override boolean delete(String strategyId, DataCategory type, String guid, List<String> offerIds); @Override Response getContainerAsync(String strategyId, String guid, DataCategory type, AccessLogInfoModel logInfo); @Override CloseableIterator<ObjectEntry> listContainer(String strategyId, DataCategory type); @Override RequestResponseOK storageAccessLogBackup(); @Override RequestResponseOK storageLogBackup(); @Override RequestResponseOK storageLogTraceability(); @Override RequestResponseOK copyObjectToOneOfferAnother(String objectId, DataCategory category, String source,
        String destination, String strategyId); @Override RequestResponseOK create(String strategyId, String objectId, DataCategory category, InputStream inputStream,
        Long inputStreamSize,
        List<String> offerIds); @Override RequestResponse<OfferLog> getOfferLogs(String strategyId, DataCategory type, Long offset, int limit,
        Order order); @Override RequestResponse<StorageStrategy> getStorageStrategies(); }
StorageClientRest extends DefaultClient implements StorageClient { @Override public Map<String, Boolean> exists(String strategyId, DataCategory type, String guid, List<String> offerIds) throws StorageServerClientException { Integer tenantId = ParameterHelper.getTenantParameter(); ParametersChecker.checkParameter(STRATEGY_ID_MUST_HAVE_A_VALID_VALUE, strategyId); ParametersChecker.checkParameter(TYPE_OF_STORAGE_OBJECT_MUST_HAVE_A_VALID_VALUE, type); ParametersChecker.checkParameter(GUID_MUST_HAVE_A_VALID_VALUE, guid); VitamRequestBuilder request = head() .withPath("/" + type.name() + "/" + guid) .withHeader(GlobalDataRest.X_TENANT_ID, tenantId) .withHeader(GlobalDataRest.X_STRATEGY_ID, strategyId) .withJsonAccept(); for (String offerId : offerIds) { request.withHeader(GlobalDataRest.X_OFFER_IDS, offerId); } try (Response response = make(request)) { notContentResponseToBoolean(handleNoContentResponseStatus(response)); Map<String, Boolean> result = new HashMap<>(); for (String offerId : offerIds) { result.put(offerId, response.getHeaders().containsKey(offerId) && response.getHeaders().get(offerId) != null ? BooleanUtils.toBoolean(response.getHeaderString(offerId)) : Boolean.FALSE); } return result; } catch (final VitamClientInternalException e) { final String errorMessage = VitamCodeHelper.getMessageFromVitamCode(VitamCode.STORAGE_TECHNICAL_INTERNAL_ERROR); LOGGER.error(errorMessage, e); throw new StorageServerClientException(errorMessage, e); } } StorageClientRest(StorageClientFactory factory); @Override JsonNode getStorageInformation(String strategyId); @Override List<String> getOffers(String strategyId); @Override StoredInfoResult storeFileFromWorkspace(String strategyId, DataCategory type, String guid,
        ObjectDescription description); @Override BulkObjectStoreResponse bulkStoreFilesFromWorkspace(String strategyId,
        BulkObjectStoreRequest bulkObjectStoreRequest); @Override boolean existsContainer(String strategyId); @Override Map<String, Boolean> exists(String strategyId, DataCategory type, String guid, List<String> offerIds); @Override JsonNode getInformation(String strategyId, DataCategory type, String guid, List<String> offerIds,
        boolean noCache); @Override RequestResponse<BatchObjectInformationResponse> getBatchObjectInformation(String strategyId,
        DataCategory type, Collection<String> offerIds,
        Collection<String> objectIds); @Override boolean delete(String strategyId, DataCategory type, String guid); @Override boolean delete(String strategyId, DataCategory type, String guid, List<String> offerIds); @Override Response getContainerAsync(String strategyId, String guid, DataCategory type, AccessLogInfoModel logInfo); @Override CloseableIterator<ObjectEntry> listContainer(String strategyId, DataCategory type); @Override RequestResponseOK storageAccessLogBackup(); @Override RequestResponseOK storageLogBackup(); @Override RequestResponseOK storageLogTraceability(); @Override RequestResponseOK copyObjectToOneOfferAnother(String objectId, DataCategory category, String source,
        String destination, String strategyId); @Override RequestResponseOK create(String strategyId, String objectId, DataCategory category, InputStream inputStream,
        Long inputStreamSize,
        List<String> offerIds); @Override RequestResponse<OfferLog> getOfferLogs(String strategyId, DataCategory type, Long offset, int limit,
        Order order); @Override RequestResponse<StorageStrategy> getStorageStrategies();  }