diff --git a/NEWS.md b/NEWS.md index 7f1b172b..6aae1148 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,9 +1,9 @@ -## v7.1.0 YYYY-mm-DD +## v8.0.0 YYYY-mm-DD ### Breaking changes -* Description ([ISSUE](https://folio-org.atlassian.net/browse/ISSUE)) +* Drop `visibilityData` field from packages request/response ([MODKBEKBJ-835](https://folio-org.atlassian.net/browse/MODKBEKBJ-835)) ### New APIs versions -* Provides `API_NAME vX.Y` +* Provides `eholdings v5.0` * Requires `API_NAME vX.Y` ### Features diff --git a/descriptors/ModuleDescriptor-template.json b/descriptors/ModuleDescriptor-template.json index 8e3af564..98282846 100644 --- a/descriptors/ModuleDescriptor-template.json +++ b/descriptors/ModuleDescriptor-template.json @@ -4,7 +4,7 @@ "provides": [ { "id": "eholdings", - "version": "4.0", + "version": "5.0", "handlers": [ { "methods": ["GET"], diff --git a/pom.xml b/pom.xml index 53b450dc..3e783f74 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.folio mod-kb-ebsco-java - 7.1.0-SNAPSHOT + 8.0.0-SNAPSHOT jar EBSCO KB Broker diff --git a/ramls/types/packages/packageDataAttributes.json b/ramls/types/packages/packageDataAttributes.json index 2bbc171c..23276bc8 100644 --- a/ramls/types/packages/packageDataAttributes.json +++ b/ramls/types/packages/packageDataAttributes.json @@ -142,11 +142,6 @@ "type": "object" }, "type": "array" - }, - "visibilityData": { - "type": "object", - "description": "Visibility data", - "$ref": "../visibilityData.json" } } } diff --git a/ramls/types/packages/packagePutDataAttributes.json b/ramls/types/packages/packagePutDataAttributes.json index 90ef096c..78eaa942 100644 --- a/ramls/types/packages/packagePutDataAttributes.json +++ b/ramls/types/packages/packagePutDataAttributes.json @@ -91,11 +91,6 @@ "type": "object" }, "type": "array" - }, - "visibilityData": { - "type": "object", - "description": "Visibility data", - "$ref": "../visibilityData.json" } } } diff --git a/src/main/java/org/folio/rest/converter/packages/CommonPackagePutRequestConverter.java b/src/main/java/org/folio/rest/converter/packages/CommonPackagePutRequestConverter.java index 1e90ef91..e0434f32 100644 --- a/src/main/java/org/folio/rest/converter/packages/CommonPackagePutRequestConverter.java +++ b/src/main/java/org/folio/rest/converter/packages/CommonPackagePutRequestConverter.java @@ -2,7 +2,6 @@ import static org.folio.common.ListUtils.mapItems; -import java.util.Arrays; import java.util.List; import org.folio.holdingsiq.model.AlternateName; import org.folio.holdingsiq.model.CoverageDates; @@ -10,8 +9,6 @@ import org.folio.holdingsiq.model.Proxy; import org.folio.holdingsiq.model.Visibility; import org.folio.rest.jaxrs.model.PackagePutDataAttributes; -import org.folio.rest.jaxrs.model.PackageVisibility; -import org.folio.rest.jaxrs.model.VisibilityData; public abstract class CommonPackagePutRequestConverter { @@ -32,13 +29,8 @@ protected PackagePut.PackagePutBuilder convertCommonAttributes(PackagePutDataAtt builder.customAltNames(convertCustomAltNames(attributes)); } - var visibilityData = attributes.getVisibilityData(); - if (visibilityData == null || visibilityData.getIsHidden() == null) { - builder.visibilityDetails(mapItems(attributes.getVisibility(), - pv -> new Visibility(pv.getCategory().value(), pv.getHidden(), pv.getReason()))); - } else { - builder.visibilityDetails(convertVisibilities(visibilityData)); - } + builder.visibilityDetails(mapItems(attributes.getVisibility(), + pv -> new Visibility(pv.getCategory().value(), pv.getHidden(), pv.getReason()))); return builder; } @@ -52,12 +44,6 @@ private void convertSimpleFields(PackagePutDataAttributes attributes, PackagePut builder.packageUrl(attributes.getUrl()); } - private List convertVisibilities(VisibilityData visibilityData) { - return Arrays.stream(PackageVisibility.Category.values()) - .map(category -> new Visibility(category.value(), visibilityData.getIsHidden(), visibilityData.getReason())) - .toList(); - } - private List convertCustomAltNames(PackagePutDataAttributes attributes) { return mapItems(attributes.getCustomAltNames(), packageAltName -> new AlternateName(packageAltName.getId(), packageAltName.getAltName())); diff --git a/src/main/java/org/folio/rest/converter/packages/PackageCollectionItemConverter.java b/src/main/java/org/folio/rest/converter/packages/PackageCollectionItemConverter.java index 041d5984..8ae6abd1 100644 --- a/src/main/java/org/folio/rest/converter/packages/PackageCollectionItemConverter.java +++ b/src/main/java/org/folio/rest/converter/packages/PackageCollectionItemConverter.java @@ -13,7 +13,6 @@ import org.folio.rest.jaxrs.model.PackageCollectionItem; import org.folio.rest.jaxrs.model.PackageDataAttributes; import org.folio.rest.jaxrs.model.PackageVisibility; -import org.folio.rest.jaxrs.model.VisibilityData; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; @@ -54,20 +53,7 @@ private PackageDataAttributes convertAttributes(PackageData packageData) { .withSelectedCount(packageData.getSelectedCount()) .withTitleCount(packageData.getTitleCount()) .withUrl(packageData.getPackageUrl()) - .withVisibility(mapItemsNullable(packageData.getVisibilityDetails(), this::convertVisibility)) - .withVisibilityData(convertVisibilityData(packageData)); - } - - private VisibilityData convertVisibilityData(PackageData packageData) { - var isHidden = packageData.getVisibilityDetails().stream() - .map(Visibility::hidden) - .reduce(Boolean::logicalOr); - var hiddenByEp = packageData.getVisibilityDetails().stream() - .map(Visibility::reason) - .filter("Hidden by EP"::equals) - .findAny(); - return new VisibilityData().withIsHidden(isHidden.orElse(false)) - .withReason(hiddenByEp.isPresent() ? "Set by system" : ""); + .withVisibility(mapItemsNullable(packageData.getVisibilityDetails(), this::convertVisibility)); } private PackageVisibility convertVisibility(Visibility visibility) { diff --git a/src/test/resources/responses/kb-ebsco/packages/expected-package-by-id-with-provider.json b/src/test/resources/responses/kb-ebsco/packages/expected-package-by-id-with-provider.json index 6e2da318..de2576c8 100644 --- a/src/test/resources/responses/kb-ebsco/packages/expected-package-by-id-with-provider.json +++ b/src/test/resources/responses/kb-ebsco/packages/expected-package-by-id-with-provider.json @@ -37,11 +37,7 @@ "reason": "Hidden by customer", "hidden": false } - ], - "visibilityData": { - "isHidden": false, - "reason": "" - } + ] }, "relationships": { "resources": { diff --git a/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-five-elements.json b/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-five-elements.json index f45d98ac..be87270b 100644 --- a/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-five-elements.json +++ b/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-five-elements.json @@ -40,11 +40,7 @@ "reason": "Hidden by customer", "hidden": false } - ], - "visibilityData": { - "isHidden": false, - "reason": "" - } + ] }, "relationships": { "resources": { @@ -90,11 +86,7 @@ "category": "MARC", "hidden": true } - ], - "visibilityData": { - "isHidden": true, - "reason": "" - } + ] }, "relationships": { "resources": { @@ -144,11 +136,7 @@ "category": "MARC", "hidden": true } - ], - "visibilityData": { - "isHidden": true, - "reason": "" - } + ] }, "relationships": { "resources": { @@ -189,11 +177,7 @@ "category": "FTF", "hidden": false } - ], - "visibilityData": { - "isHidden": false, - "reason": "" - } + ] }, "relationships": { "resources": { @@ -235,11 +219,7 @@ "reason": "Hidden by customer", "hidden": false } - ], - "visibilityData": { - "isHidden": false, - "reason": "" - } + ] }, "relationships": { "resources": { diff --git a/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-one-element.json b/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-one-element.json index 26baae3e..9a17870c 100644 --- a/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-one-element.json +++ b/src/test/resources/responses/kb-ebsco/packages/expected-package-collection-with-one-element.json @@ -24,11 +24,7 @@ "reason": "Hidden by customer", "hidden": false } - ], - "visibilityData": { - "isHidden": false, - "reason": "" - } + ] }, "relationships": { "resources": { diff --git a/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-all-objects.json b/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-all-objects.json index 17000ce2..87633804 100644 --- a/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-all-objects.json +++ b/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-all-objects.json @@ -211,11 +211,7 @@ "reason": "Hidden by customer", "hidden": false } - ], - "visibilityData": { - "isHidden": false, - "reason": "" - } + ] }, "relationships": { "resources": { diff --git a/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-package.json b/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-package.json index 9b1910c8..c7a05bba 100644 --- a/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-package.json +++ b/src/test/resources/responses/kb-ebsco/resources/expected-resource-by-id-with-package.json @@ -134,11 +134,7 @@ "reason": "Hidden by customer", "hidden": false } - ], - "visibilityData": { - "isHidden": false, - "reason": "" - } + ] }, "relationships": { "resources": {