Search in sources :

Example 1 with PackagePutRequest

use of org.folio.rest.jaxrs.model.PackagePutRequest in project mod-kb-ebsco-java by folio-org.

the class EholdingsPackagesTest method shouldPassIsFullPackageAttributeToRMAPI.

@Test
public void shouldPassIsFullPackageAttributeToRMAPI() throws URISyntaxException, IOException {
    PackageByIdData updatedPackage = mapper.readValue(getFile(PACKAGE_STUB_FILE), PackageByIdData.class).toByIdBuilder().isSelected(true).build();
    mockUpdateScenario(readFile(PACKAGE_STUB_FILE), mapper.writeValueAsString(updatedPackage));
    PackagePutRequest request = mapper.readValue(readFile("requests/kb-ebsco/package/put-package-selected.json"), PackagePutRequest.class);
    request.getData().getAttributes().setIsFullPackage(false);
    putWithOk(PACKAGES_PATH, mapper.writeValueAsString(request), STUB_TOKEN_HEADER).as(Package.class);
    PackagePut rmApiPutRequest = mapper.readValue(readFile("requests/rmapi/packages/put-package-is-selected.json"), PackagePut.class).toBuilder().isFullPackage(false).build();
    verify(putRequestedFor(PACKAGE_URL_PATTERN).withRequestBody(new EqualToJsonPattern(mapper.writeValueAsString(rmApiPutRequest), true, true)));
}
Also used : EqualToJsonPattern(com.github.tomakehurst.wiremock.matching.EqualToJsonPattern) PackagePut(org.folio.holdingsiq.model.PackagePut) PackagePutRequest(org.folio.rest.jaxrs.model.PackagePutRequest) PackageByIdData(org.folio.holdingsiq.model.PackageByIdData) Test(org.junit.Test)

Example 2 with PackagePutRequest

use of org.folio.rest.jaxrs.model.PackagePutRequest in project mod-kb-ebsco-java by folio-org.

the class EholdingsPackagesImpl method putEholdingsPackagesByPackageId.

@Override
@HandleValidationErrors
public void putEholdingsPackagesByPackageId(String packageId, String contentType, PackagePutRequest entity, Map<String, String> okapiHeaders, Handler<AsyncResult<Response>> asyncResultHandler, Context vertxContext) {
    PackageId parsedPackageId = parsePackageId(packageId);
    templateFactory.createTemplate(okapiHeaders, asyncResultHandler).requestAction(context -> context.getPackagesService().retrievePackage(parsedPackageId).thenCompose(packageByIdData -> fetchAccessType(entity, context).thenCompose(accessType -> processUpdateRequest(entity, packageByIdData, context).thenCompose(voidEntity -> {
        CompletableFuture<PackageByIdData> future = context.getPackagesService().retrievePackage(parsedPackageId);
        return handleDeletedPackage(future, parsedPackageId, context);
    }).thenApply(packageById -> new PackageResult(packageById, null, null)).thenCompose(packageResult -> updateAccessTypeMapping(accessType, packageResult, context))))).addErrorMapper(NotFoundException.class, error400NotFoundMapper()).addErrorMapper(InputValidationException.class, error422InputValidationMapper()).executeWithResult(Package.class);
}
Also used : RMAPITemplateFactory(org.folio.rest.util.template.RMAPITemplateFactory) Filter(org.folio.rest.model.filter.Filter) TagRepository(org.folio.repository.tag.TagRepository) PackageParametersValidator(org.folio.holdingsiq.service.validator.PackageParametersValidator) TitleCollectionResult(org.folio.rmapi.result.TitleCollectionResult) CompletableFuture.completedFuture(java.util.concurrent.CompletableFuture.completedFuture) ExceptionMappers.error400NotFoundMapper(org.folio.rest.util.ExceptionMappers.error400NotFoundMapper) Autowired(org.springframework.beans.factory.annotation.Autowired) PackagePut(org.folio.holdingsiq.model.PackagePut) AccessTypeMappingsService(org.folio.service.accesstypes.AccessTypeMappingsService) Context(io.vertx.core.Context) PackageId(org.folio.holdingsiq.model.PackageId) AccessType(org.folio.rest.jaxrs.model.AccessType) JSONAPI(org.folio.rest.util.RestConstants.JSONAPI) AccessTypesService(org.folio.service.accesstypes.AccessTypesService) Collectors.toMap(java.util.stream.Collectors.toMap) HandleValidationErrors(org.folio.rest.aspect.HandleValidationErrors) EholdingsPackages(org.folio.rest.jaxrs.resource.EholdingsPackages) ListUtils.parseByComma(org.folio.common.ListUtils.parseByComma) PackagePutBodyValidator(org.folio.rest.validator.PackagePutBodyValidator) Map(java.util.Map) Package(org.folio.rest.jaxrs.model.Package) ResourceCollection(org.folio.rest.jaxrs.model.ResourceCollection) IdParser.packageIdToString(org.folio.rest.util.IdParser.packageIdToString) PackageTagsItem(org.folio.rest.jaxrs.model.PackageTagsItem) OkapiData(org.folio.holdingsiq.model.OkapiData) VertxCache(org.folio.cache.VertxCache) PackageBulkFetchCollection(org.folio.rest.jaxrs.model.PackageBulkFetchCollection) RowSetUtils.toUUID(org.folio.db.RowSetUtils.toUUID) UUID(java.util.UUID) Future(io.vertx.core.Future) NotFoundException(javax.ws.rs.NotFoundException) PackageCollection(org.folio.rest.jaxrs.model.PackageCollection) List(java.util.List) CompletionStage(java.util.concurrent.CompletionStage) Response(javax.ws.rs.core.Response) PackageResult(org.folio.rmapi.result.PackageResult) ErrorUtil(org.folio.rest.util.ErrorUtil) PackagePostRequest(org.folio.rest.jaxrs.model.PackagePostRequest) RMAPITemplateContext(org.folio.rest.util.template.RMAPITemplateContext) VendorIdCacheKey(org.folio.config.cache.VendorIdCacheKey) UserKbCredentialsService(org.folio.service.kbcredentials.UserKbCredentialsService) RecordKey(org.folio.repository.RecordKey) FilteredEntitiesLoader(org.folio.service.loader.FilteredEntitiesLoader) PackageTagsDataAttributes(org.folio.rest.jaxrs.model.PackageTagsDataAttributes) RecordType(org.folio.repository.RecordType) IdParser.parsePackageId(org.folio.rest.util.IdParser.parsePackageId) Tags(org.folio.rest.jaxrs.model.Tags) CompletableFuture(java.util.concurrent.CompletableFuture) BooleanUtils(org.apache.commons.lang3.BooleanUtils) CustomPackagePutBodyValidator(org.folio.rest.validator.CustomPackagePutBodyValidator) Function(java.util.function.Function) DbPackage(org.folio.repository.packages.DbPackage) PackageRequestConverter(org.folio.rest.converter.packages.PackageRequestConverter) InputValidationException(org.folio.rest.exception.InputValidationException) SpringContextUtil(org.folio.spring.SpringContextUtil) ArrayList(java.util.ArrayList) PackagePutRequest(org.folio.rest.jaxrs.model.PackagePutRequest) Qualifier(org.springframework.beans.factory.annotation.Qualifier) PackageTagsPutBodyValidator(org.folio.rest.validator.PackageTagsPutBodyValidator) PackagePostBulkFetchRequest(org.folio.rest.jaxrs.model.PackagePostBulkFetchRequest) RelatedEntitiesLoader(org.folio.service.loader.RelatedEntitiesLoader) AsyncResult(io.vertx.core.AsyncResult) SearchProperties(org.folio.properties.common.SearchProperties) RMAPITemplate(org.folio.rest.util.template.RMAPITemplate) Converter(org.springframework.core.convert.converter.Converter) ExceptionMappers.error422InputValidationMapper(org.folio.rest.util.ExceptionMappers.error422InputValidationMapper) Vertx(io.vertx.core.Vertx) ResourceNotFoundException(org.folio.holdingsiq.service.exception.ResourceNotFoundException) ErrorHandler(org.folio.rest.util.ErrorHandler) Titles(org.folio.holdingsiq.model.Titles) PackagesPostBodyValidator(org.folio.rest.validator.PackagesPostBodyValidator) DbTag(org.folio.repository.tag.DbTag) Validate(org.folio.rest.annotations.Validate) PackageTagsPutRequest(org.folio.rest.jaxrs.model.PackageTagsPutRequest) PackageRepository(org.folio.repository.packages.PackageRepository) CustomerResources(org.folio.holdingsiq.model.CustomerResources) ConverterConsts(org.folio.rest.converter.common.ConverterConsts) TAGS_TYPE(org.folio.rest.util.RestConstants.TAGS_TYPE) TitleResult(org.folio.rmapi.result.TitleResult) PackageTags(org.folio.rest.jaxrs.model.PackageTags) Handler(io.vertx.core.Handler) PackageByIdData(org.folio.holdingsiq.model.PackageByIdData) PackagePost(org.folio.holdingsiq.model.PackagePost) PackageResult(org.folio.rmapi.result.PackageResult) PackageId(org.folio.holdingsiq.model.PackageId) IdParser.parsePackageId(org.folio.rest.util.IdParser.parsePackageId) InputValidationException(org.folio.rest.exception.InputValidationException) PackageByIdData(org.folio.holdingsiq.model.PackageByIdData) HandleValidationErrors(org.folio.rest.aspect.HandleValidationErrors)

Example 3 with PackagePutRequest

use of org.folio.rest.jaxrs.model.PackagePutRequest in project mod-kb-ebsco-java by folio-org.

the class EholdingsPackagesTest method sendPut.

private Package sendPut(String mockUpdatedPackage) throws IOException, URISyntaxException {
    mockUpdateScenario(readFile(PACKAGE_STUB_FILE), mockUpdatedPackage);
    PackagePutRequest packageToBeUpdated = mapper.readValue(getFile("requests/kb-ebsco/package/put-package-selected.json"), PackagePutRequest.class);
    return putWithOk(PACKAGES_PATH, mapper.writeValueAsString(packageToBeUpdated), STUB_TOKEN_HEADER).as(Package.class);
}
Also used : PackagePutRequest(org.folio.rest.jaxrs.model.PackagePutRequest)

Aggregations

PackagePutRequest (org.folio.rest.jaxrs.model.PackagePutRequest)3 PackageByIdData (org.folio.holdingsiq.model.PackageByIdData)2 PackagePut (org.folio.holdingsiq.model.PackagePut)2 EqualToJsonPattern (com.github.tomakehurst.wiremock.matching.EqualToJsonPattern)1 AsyncResult (io.vertx.core.AsyncResult)1 Context (io.vertx.core.Context)1 Future (io.vertx.core.Future)1 Handler (io.vertx.core.Handler)1 Vertx (io.vertx.core.Vertx)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Map (java.util.Map)1 UUID (java.util.UUID)1 CompletableFuture (java.util.concurrent.CompletableFuture)1 CompletableFuture.completedFuture (java.util.concurrent.CompletableFuture.completedFuture)1 CompletionStage (java.util.concurrent.CompletionStage)1 Function (java.util.function.Function)1 Collectors.toMap (java.util.stream.Collectors.toMap)1 NotFoundException (javax.ws.rs.NotFoundException)1 Response (javax.ws.rs.core.Response)1