Versions Compared

Key

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

Table of Contents

ONAP Guidelines

...

#Use caseScenarioDB (Spring) Response SPI ResponseJava APIREST API Response CodeResponse BodyError Object Message
1Add dataspacedataspace already existsDataIntegrityViolationExceptionDataspaceAlreadyDefinedExceptionDataspaceAlreadyDefinedException400 (bad request)json error objectdataspace xyz already defined
2Add schema set to dataspace

schema set with same name already exists

DataIntegrityViolationException

SchemaSetAlreadyDefinedException

SchemaSetAlreadyDefinedException400 (bad request)json error objectschema set xyz already defined for dataspace abc
3Add schema set to dataspacedataspacename does not existNo records (Optional, not present)DataspaceNotFoundExceptionDataspaceNotFoundException400 (bad request)json error objectTBD
4Add schema set to dataspace

the schema set throws a validation exception when parsed with ODL Yang Parser e.g.

  • No files (in zip)
  • Missing (import) files 
  • Incorrect yang in a module
  • Duplicate namespaces
N/AN/A

ModelValidationException (e casue)

details should contain cause message

400 (bad request)json error object

message and details from the original exception.

5List anchors for dataspace namedataspacename does not existNo records (Optional, not present)

DataspaceNotFoundException

DataspaceNotFoundException

400 (bad request)

json error objectdataspace xyz not found
6List anchors for dataspace nameno anchor records in DB0 recordsempty collectionempty collection200 (ok)

empty list


N/A
7Add a fragmentInsert a fragment that violates the unique constraint e.g. when trying to insert a fragment with the same property values(dataspace_id,anchor_id,xpath) as an existing fragment. DataIntegrityViolationException




8Remove schema setSchema set removal is requested from REST (or via API/SPI with explicitly defined option prohibiting removal of associated anchors and data if found) and there is (are) associated anchor record(s) in database.N/ASchemaSetInUseExceptionSchemaSetInUseException409 (Conflict)json error objectschama set abc in dataspace xyz is having anchor records associated.
9Get a fragment that does not existget fragment by xpath that does not existFragmentNotFoundExceptionDataNodeNotFoundExceptionDataNodeNotFoundException400 (bad request)json error objectdatanode with xpath xyz not found in dataspace xyz
10Invalid cps path

a cpsPath that cannot be parsed i.e. not recognized as a valid query

  • 2021-03-08T14:57:19.343Z|main|| o.onap.cps.rest.exceptions.CpsRestExceptionHandler - An error has occurred : Invalid cps path. Status: 400 BAD_REQUEST Details: Cannot interpret or parse cps path.
  • 2021-03-08 15:01:44.441 ERROR 21676 --- [ main] o.o.c.r.e.CpsRestExceptionHandler : An error has occurred : Unsupported leaf value. Status: 400 BAD_REQUEST Details: Unsupported leaf value in cps path.
CpsPathExceptionCpsPathExceptionCpsPathException400 (bad request)json error objectmessage and details from the original exception.
11Data node already existsCreate the same data node twice
DataIntegrityViolationException
DataNodeAlreadyDefinedDataNodeAlreadyDefined409 (Conflict)json error objectData node already defined for dataspace abc
12Unsupported update node leaves

Unsupported json data when 

  1. Conversion of a normalized node to a datanode within the datanode builder class.
private DataNode buildFromNormalizedNodeTree() {
final Collection<DataNode> dataNodeCollection = buildCollectionFromNormalizedNodeTree();
return dataNodeCollection.iterator().next(); }

2. Parsing list json data

  1. NoSuchElementException
  2. IllegalStateException
DataValidationException
DataValidationException
400json error object
"Unsupported json data: " + jsonData
13Delete dataspace with anchor/s

Delete dataspace that still contains 1 or more anchor


DataspaceInUseException

DataspaceInUseException

409

(Conflict)

json error object

dataspace contains anchor(s)

14Delete dataspace with schemaset/sDelete dataspace that still contains 1 or more schemaset
DataspaceInUseExceptionDataspaceInUseException

409

(Conflict)

json error objectdataspace contains schemaset(s)

...

#Sub interfaceMethodScenarioSpecified HTTP Response CodeImplemented HTTP Response CodeComments
1DMI Plugin Internal

POST - /v1/inventory/cmHandles

DmiPluginInternalApi.registerCmHandles()



Register given list of cm handles (internal use only)

201

400

401

403

  • 201
-
  • (created)
    • for success
  • 400
- for invalid input (
  • (bad request)
    • for empty cm handles list
)500 -
    • from input
  • 500 (internal server error)
    • for parsing error when converting provided cm handles into json
    • for any response code from NCMP that is different form 201
    • for unexpected system errors
  • Input cm handle conversion error should return a 4xx client error
2DMI Plugin

POST - /v1/ch/{cmHandle}/modules

DmiPluginApi.getModuleReferences()

Get all modules for given cm handle

200

400

401

403


500 - for unexpected system errors


3DMI Plugin

POST - /v1/ch/{cmHandle}/moduleResources

DmiPluginApi.retrieveModuleResources()

Retrieve module resources for one or more modules

200

400

401

403

  • 404
- for
  • (not found
data (
  • )
    • module resource not found from SDNC for the given cm handle
,
    • error occurred when trying to parse the response body from
sdnc)500 -
    • SDNC
  • 500 (internal server error)
    • for any SDNC response code that is different from 200 and 404
    • for unexpected system errors
  • SDNC errors are not really consistent (404 and 500)
4DMI Plugin

POST - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational

DmiPluginApi.dataAccessPassthroughOperational()

Get resource data from passthrough-operational for cm handle. Will support read operations only.

200

400

401

403


500 - for unexpected system errors


5DMI Plugin

POST - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running

DmiPluginApi.dataAccessPassthroughRunning()

Post request to Get, Create or to Update resource data for a cm-handle. Since all requests need to include additional information in a request body HTTP Post is used for all use cases and the actual operation is defined in the request body instead.

201

400

401

403


500 - for unexpected system errors

  • Should success be 200 (general ok) instead of 201 (created) ?

...