CPS-766 - Getting issue details... STATUS

Implementation Proposal

Creating a new get nodes endpoint

REST Layer

  • cpsData.yml
    • New get endpoint for nodesByDataspaceAndAnchor "Get parallel nodes with an option to retrieve all the children for a given anchor and dataspace"
  • DataRestController.java
    • New method, getNodesByDataspaceAndAnchor which calls new method getDataNodes from cpsDataService and return obtained datanodes.
  • DataRestControllerSpec.groovy
    • Add test for scenario above

Service Layer

  • CpsDataService.java
    • new getDataNodes method to be overwritten
  • CpsDataServiceImpl.java
    • implement getDataNodes and call getDataNodes from persistence layer

Persistence Layer

  • CpsDataPersistenceService.java
    • new method getDataNodes
  • CpsDataPersistenceServiceImpl.java
    • implement getDataNodes, call new method getFragmentsByXpath
    • getFragmentsByXpath calls new FragmentRepository method findRootFragmentsByDataspaceAndAnchor if root xpath or new method getFragmentsByDataspaceAndAnchorAndXpath if non root xpath
  • FragmentRepository
    • findRootFragmentsByDataspaceAndAnchor obtains nodes when there is no node xpath
    • getFragmentsByDataspaceAndAnchorAndXpath obtains nodes when there is an xpath provided
  • No labels