Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
This Spike describes the implementation and changes necessary in order to support a list element as a top-level data node.
...
Need further analysis for Delete and Update (link spike)
Implementation Proposal
We will be augmenting the existing CPS-Core endpoint /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes?xpath=/
REST Layer
...
)
...
- Add test for scenario above
Service Layer
- CpsDataService.java
- Overload saveListElements method with implementation for no parentNodeXpath
- CpsDataServiceImpl.java
- Overload saveListElements method with implementation for no parentNodeXpath
- buildDataNodes and call new method storeListElements in Persistence Layer
Persistence Layer
...
- new method storeListElements
...
...
Endpoint | Issue | Solution | Spike/User Story | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Get Node | Get Node only gets the first node of the list element at the top level. | Create a new endpoint Get Nodes which can return multiple parallel nodes. |
| ||||||||
Post List Element | Post List Element does not allow for create List Element, only appends onto existing node as children | Add functionality to Post List Element to allow for the independent creation of a list element |
| ||||||||
Delete Node | Delete Datanode is unable to delete an element from the list elements if they are the top level list node. | Investigate implementation which will allow for deletion of element(s) from top level list elements |
| ||||||||
Update List Element | Update List Element relies on the parent node of the list element to update the List Elements but a top level List Element will not have a parent node | Investigate implementation which will allow for update of element(s) from top level list elements NB ensure no possibility of empty list element at top level |
|