diff --git a/NEWS.md b/NEWS.md index c4bb9263a..3490bbb83 100644 --- a/NEWS.md +++ b/NEWS.md @@ -7,6 +7,7 @@ * Changes structure of `alternativeTitles` (MODINV-90) * Renames `item.pieceIdentifiers` to `copyNumbers` (MODINV-94) * Changes structure of item notes (MODINV-97) +* Renames, changes structure of `instance.statisticalCodes` (MODINV-98) ## 10.0.0 2018-10-12 diff --git a/ramls/instance.json b/ramls/instance.json index 8807286e8..b7683e93d 100644 --- a/ramls/instance.json +++ b/ramls/instance.json @@ -321,21 +321,11 @@ "type": "boolean", "description": "Records the fact that the record should not be displayed in a discovery system" }, - "statisticalCodes": { + "statisticalCodeIds": { "type": "array", - "description": "List of statistical code items", + "description": "List of statistical code IDs", "items": { - "type": "object", - "properties": { - "statisticalCodeTypeId": { - "type": "string", - "description": "Statistical code ID" - }, - "code": { - "type": "string", - "description": "Statistical codes (e.g. ARL stats, cataloger, collection or Package code)" - } - } + "type": "string" } }, "sourceRecordFormat": { diff --git a/src/main/java/org/folio/inventory/domain/instances/Instance.java b/src/main/java/org/folio/inventory/domain/instances/Instance.java index a0c062d6a..47ae0bdc6 100644 --- a/src/main/java/org/folio/inventory/domain/instances/Instance.java +++ b/src/main/java/org/folio/inventory/domain/instances/Instance.java @@ -36,7 +36,7 @@ public class Instance { public static final String PREVIOUSLY_HELD_KEY = "previouslyHeld"; public static final String STAFF_SUPPRESS_KEY = "staffSuppress"; public static final String DISCOVERY_SUPPRESS_KEY = "discoverySuppress"; - public static final String STATISTICAL_CODES_KEY = "statisticalCodes"; + public static final String STATISTICAL_CODE_IDS_KEY = "statisticalCodeIds"; public static final String SOURCE_RECORD_FORMAT_KEY = "sourceRecordFormat"; public static final String STATUS_ID_KEY = "statusId"; public static final String STATUS_UPDATED_DATE_KEY = "statusUpdatedDate"; @@ -70,7 +70,7 @@ public class Instance { private Boolean previouslyHeld; private Boolean staffSuppress; private Boolean discoverySuppress; - private List statisticalCodes = new ArrayList(); + private List statisticalCodeIds = new ArrayList(); private String sourceRecordFormat; private String statusId; private String statusUpdatedDate; @@ -205,8 +205,8 @@ public Instance setDiscoverySuppress(Boolean discoverySuppress) { return this; } - public Instance setStatisticalCodes(List statisticalCodes) { - this.statisticalCodes = statisticalCodes; + public Instance setStatisticalCodeIds(List statisticalCodeIds) { + this.statisticalCodeIds = statisticalCodeIds; return this; } @@ -347,8 +347,8 @@ public Boolean getDiscoverySuppress() { return discoverySuppress; } - public List getStatisticalCodes() { - return statisticalCodes; + public List getStatisticalCodeIds() { + return statisticalCodeIds; } public String getSourceRecordFormat() { @@ -390,7 +390,7 @@ public Instance copyWithNewId(String newId) { .setPreviouslyHeld(previouslyHeld) .setStaffSuppress(staffSuppress) .setDiscoverySuppress(discoverySuppress) - .setStatisticalCodes(statisticalCodes) + .setStatisticalCodeIds(statisticalCodeIds) .setSourceRecordFormat(sourceRecordFormat) .setStatusId(statusId) .setStatusUpdatedDate(statusUpdatedDate); @@ -419,7 +419,7 @@ public Instance copyInstance() { .setPreviouslyHeld(previouslyHeld) .setStaffSuppress(staffSuppress) .setDiscoverySuppress(discoverySuppress) - .setStatisticalCodes(statisticalCodes) + .setStatisticalCodeIds(statisticalCodeIds) .setSourceRecordFormat(sourceRecordFormat) .setStatusId(statusId) .setStatusUpdatedDate(statusUpdatedDate) diff --git a/src/main/java/org/folio/inventory/domain/instances/StatisticalCode.java b/src/main/java/org/folio/inventory/domain/instances/StatisticalCode.java deleted file mode 100644 index fb51ac4f3..000000000 --- a/src/main/java/org/folio/inventory/domain/instances/StatisticalCode.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.folio.inventory.domain.instances; - -import io.vertx.core.json.JsonObject; - -/** - * - * @author ne - */ -public class StatisticalCode { - // JSON property names - public static final String STATISTICAL_CODE_TYPE_ID_KEY = "statisticalCodeTypeId"; - public static final String CODE_KEY = "code"; - - public final String statisticalCodeTypeId; - public final String code; - - public StatisticalCode(String statisticalCodeTypeId, String code) { - this.statisticalCodeTypeId = statisticalCodeTypeId; - this.code = code; - } - - public StatisticalCode(JsonObject json) { - this(json.getString(STATISTICAL_CODE_TYPE_ID_KEY), - json.getString(CODE_KEY)); - } - -} diff --git a/src/main/java/org/folio/inventory/resources/Instances.java b/src/main/java/org/folio/inventory/resources/Instances.java index db7aff0da..b2d9646af 100644 --- a/src/main/java/org/folio/inventory/resources/Instances.java +++ b/src/main/java/org/folio/inventory/resources/Instances.java @@ -32,7 +32,6 @@ import org.folio.inventory.domain.instances.InstanceRelationshipToChild; import org.folio.inventory.domain.instances.InstanceRelationshipToParent; import org.folio.inventory.domain.instances.Publication; -import org.folio.inventory.domain.instances.StatisticalCode; import org.folio.inventory.storage.Storage; import org.folio.inventory.storage.external.CollectionResourceClient; import org.folio.inventory.support.JsonArrayHelper; @@ -455,7 +454,7 @@ private JsonObject toRepresentation(Instance instance, putIfNotNull(resp, Instance.PREVIOUSLY_HELD_KEY, instance.getPreviouslyHeld()); putIfNotNull(resp, Instance.STAFF_SUPPRESS_KEY, instance.getStaffSuppress()); putIfNotNull(resp, Instance.DISCOVERY_SUPPRESS_KEY, instance.getDiscoverySuppress()); - putIfNotNull(resp, Instance.STATISTICAL_CODES_KEY, instance.getStatisticalCodes()); + putIfNotNull(resp, Instance.STATISTICAL_CODE_IDS_KEY, instance.getStatisticalCodeIds()); putIfNotNull(resp, Instance.SOURCE_RECORD_FORMAT_KEY, instance.getSourceRecordFormat()); putIfNotNull(resp, Instance.STATUS_ID_KEY, instance.getStatusId()); putIfNotNull(resp, Instance.STATUS_UPDATED_DATE_KEY, instance.getStatusUpdatedDate()); @@ -524,12 +523,6 @@ private Instance requestToInstance(JsonObject instanceRequest) { .collect(Collectors.toList()) : new ArrayList<>(); - List statisticalCodes = instanceRequest.containsKey(Instance.STATISTICAL_CODES_KEY) - ? JsonArrayHelper.toList(instanceRequest.getJsonArray(Instance.STATISTICAL_CODES_KEY)).stream() - .map(json -> new StatisticalCode(json)) - .collect(Collectors.toList()) - : new ArrayList<>(); - return new Instance( instanceRequest.getString("id"), @@ -560,7 +553,7 @@ private Instance requestToInstance(JsonObject instanceRequest) { .setPreviouslyHeld(instanceRequest.getBoolean(Instance.PREVIOUSLY_HELD_KEY)) .setStaffSuppress(instanceRequest.getBoolean(Instance.STAFF_SUPPRESS_KEY)) .setDiscoverySuppress(instanceRequest.getBoolean(Instance.DISCOVERY_SUPPRESS_KEY)) - .setStatisticalCodes(statisticalCodes) + .setStatisticalCodeIds(toListOfStrings(instanceRequest,Instance.STATISTICAL_CODE_IDS_KEY)) .setSourceRecordFormat(instanceRequest.getString(Instance.SOURCE_RECORD_FORMAT_KEY)) .setStatusId(instanceRequest.getString(Instance.STATUS_ID_KEY)) .setStatusUpdatedDate(instanceRequest.getString(Instance.STATUS_UPDATED_DATE_KEY )); diff --git a/src/main/java/org/folio/inventory/storage/external/ExternalStorageModuleInstanceCollection.java b/src/main/java/org/folio/inventory/storage/external/ExternalStorageModuleInstanceCollection.java index 4b1c68e72..981fe55ba 100644 --- a/src/main/java/org/folio/inventory/storage/external/ExternalStorageModuleInstanceCollection.java +++ b/src/main/java/org/folio/inventory/storage/external/ExternalStorageModuleInstanceCollection.java @@ -17,7 +17,6 @@ import org.folio.inventory.domain.instances.Instance; import org.folio.inventory.domain.instances.InstanceCollection; import org.folio.inventory.domain.instances.Publication; -import org.folio.inventory.domain.instances.StatisticalCode; import io.vertx.core.Vertx; import io.vertx.core.json.JsonArray; @@ -69,7 +68,7 @@ protected JsonObject mapToRequest(Instance instance) { instanceToSend.put(Instance.PREVIOUSLY_HELD_KEY, instance.getPreviouslyHeld()); instanceToSend.put(Instance.STAFF_SUPPRESS_KEY, instance.getStaffSuppress()); instanceToSend.put(Instance.DISCOVERY_SUPPRESS_KEY, instance.getDiscoverySuppress()); - instanceToSend.put(Instance.STATISTICAL_CODES_KEY, instance.getStatisticalCodes()); + instanceToSend.put(Instance.STATISTICAL_CODE_IDS_KEY, instance.getStatisticalCodeIds()); includeIfPresent(instanceToSend, Instance.SOURCE_RECORD_FORMAT_KEY, instance.getSourceRecordFormat()); instanceToSend.put(Instance.STATUS_ID_KEY, instance.getStatusId()); instanceToSend.put(Instance.STATUS_UPDATED_DATE_KEY, instance.getStatusUpdatedDate()); @@ -121,14 +120,6 @@ protected Instance mapFromJson(JsonObject instanceFromServer) { .map(it -> new ElectronicAccess(it)) .collect(Collectors.toList()); - List statisticalCodes = toList( - instanceFromServer.getJsonArray(Instance.STATISTICAL_CODES_KEY, new JsonArray())); - - List mappedStatisticalCodes = statisticalCodes.stream() - .map(it -> new StatisticalCode(it)) - .collect(Collectors.toList()); - - JsonObject metadataJson = instanceFromServer.getJsonObject(Instance.METADATA_KEY); return new Instance( @@ -158,7 +149,7 @@ protected Instance mapFromJson(JsonObject instanceFromServer) { .setPreviouslyHeld(instanceFromServer.getBoolean(Instance.PREVIOUSLY_HELD_KEY)) .setStaffSuppress(instanceFromServer.getBoolean(Instance.STAFF_SUPPRESS_KEY)) .setDiscoverySuppress(instanceFromServer.getBoolean(Instance.DISCOVERY_SUPPRESS_KEY)) - .setStatisticalCodes(mappedStatisticalCodes) + .setStatisticalCodeIds(jsonArrayAsListOfStrings(instanceFromServer, Instance.STATISTICAL_CODE_IDS_KEY)) .setSourceRecordFormat(instanceFromServer.getString(Instance.SOURCE_RECORD_FORMAT_KEY)) .setStatusId(instanceFromServer.getString(Instance.STATUS_ID_KEY)) .setStatusUpdatedDate(instanceFromServer.getString(Instance.STATUS_UPDATED_DATE_KEY))