Versions Compared

Key

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

...

Implement the functionality to support multiple nodes removal using list-node xpath.

REST layer (incl openapi update)

  • uri:
    • (CPS) DELETE /dataspaces/{dataspaceName}/anchor/{anchorName}/list-node
    •  (NCMP) DELETE /cm-handle/{cmHandle}/list-node

REST layer (DataRestController.java)

...

  • Implement the method deleteListNodeElements(final String dataspaceName, final String anchorName, final String listNodeXpath)
  • Call cpsDataService.deleteListNodeData()
  • return 200

REST layer (cpsData.yml)

  • Add patch

REST layer (DataRestControllerSpec.groovy)

  • Ensure appropriate REST responses on invocation 

Service layer (CpsDataService.java)

  • Create new abstract method deleteNodeTree() 

Service layer (CpsDataServiceImpl.java)

  • Override abstract method deleteNodeTree()
  • Validate the xpath of the list-nodes String
  • call cpsDataPersistenceService.deleteListDataNodes()
  • notificationService.processDataUpdatedEvent(dataspaceName, anchorName)

Service layer (CpsDataServiceImplSpec.groovy)

  • delete list-node data fragment under existing node
  • delete list-node data fragment under non existing node

Persistence layer (CpsDataPersistenceService.java)

  • Create new abstract method deleteListDataNodes()

Persistence layer (CpsDataPersistenceServiceImpl.java)

  • Override abstract method deleteListDataNodes()
  • Use method getFragmentByXpath() to get the parentEntity of the List-Node
  • Use parentEntity and a method parameter String listNodeXpath as arguments for method removeListNodeDescendants()

Persistence layer (CpsDataPersistenceServiceSpec.groovy)

  • Delete list node content successfully
  • Error thrown when listNodeXpath does not exist

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-361

...