Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODQM-311

...

  1. Create new endpoint to retrieve HRID by authority file id 
  2. Implement sequence number generation mechanism for authority local files
  3. On the UI user will select file name. And before creation UI should put to 001 field value from the HRID endpoint. 

Tickets

OverviewApproachModuleTicket
Validation for authority local files
  1. Implement AuthoritySourceFileHridManager with Validation:
      - (if source = 'local' then codes.size = 1) else throw exception
      - (if source = 'local' and startNumber = null) set startValue = 1
mod-inventory-storage2 sp
Implement sequence number generation mechanism for authority local files (Sequences Approach)
  1. New endpoint to catch-up authority current hrid information is presented
  2. Extend AuthoritySourceFileHridManager to work with sequences
      - Create sequence for authority local file after validation
      - Update sequence name for authority local file if prefix was updated
      - Drop sequence for authority local file after deletion
  3. Return hrid on request 
      - Retrieve next value from localFile sequence 
      - Format next value to NaturalId(HRID) format
mod-inventory-storage5 sp
Implement sequence number generation mechanism for authority local files (Table with counter Approach)
  1. New endpoint to catch-up authority current hrid information is presented
  2. New table to work with authority files HRID presented
  3. Extend AuthoritySourceFileHridManager to work with table
      - All transactions should be done with SERIALIZABLE isolation
      - On request return current hrid value and increment it. 
      - Format value to NaturalId(HRID) format
mod-inventory-storage5 sp
Local authority file selection
  1. User should have the ability to look-up for local authority file
    (As permanent-location look-up for Holdings)

  2. After user click "create" button, UI should call endpoint to retrieve current hrid value.
    And put it to 001 field
ui-inventory

Ability to store authority local files

Settings application UI preview:

localauthoritydefinition.PNG

Endpoints:

GET: /authority-source-files/{id}/hrid
Description:  Endpoint returns current hrid value and increment it. Should be called once user clicked on the "create" button to put value in the 001 field.

Code Block
themeDJango
borderStyledashed
titleAuthority Source File HRID Example
collapsetrue
{
    "id": "cb58492d-018e-442d-9ce3-35aabfc524aa",
    "prefix": "loc",
    "hrid": "000000001"
}

POST: /authority-source-files
New query parameter: startNumber (default = 1)

...


To work with table it's better to use
SERIALIZABLE Isolation:
@Transactional(isolation = Isolation.SERIALIZABLE)

Select local authority file on the UI

...