Versions Compared

Key

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

Table of Contents


Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1177


Description/Scope

There are 3 datastore related endpoints exists on the proxy controller.

  1. /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational:
    •  $ref: 'ncmp.yml#/getResourceDataForPassthroughOperational'
  2.  /v1/ch/{cm-handle}/data/ds/ncmp-datastores:operational:
    •  $ref: 'ncmp.yml#/getResourceDataOperational'
  3.  /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
    •  $ref: 'ncmp.yml#/resourceDataForPassthroughRunning'

Parameters used by each endpoint

Endpoints/Params
datastoreName
cmHandleInPath
resourceIdentifierInQuery
optionsParamInQuery
topicParamInQuery

includeDescendantsOptionInQuery

/v1/ch/{cm-handle}/data/ds/

ncmp-datastore:passthrough-operational

(tick)(tick)(tick)(tick)(tick)

/v1/ch/{cm-handle}/data/ds/

ncmp-datastores:operational

(tick)(tick)(tick)

(tick)

/v1/ch/{cm-handle}/data/ds/

ncmp-datastore:passthrough-running

(tick)(tick)(tick)(tick)(tick)


Info

It would be better to have just one handling all the cases like /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}

where {ncmp-datastore-name} can be set to ncmp-datastore:operational or ncmp-datastore:passthrough-operational or ncmp-datastore:passthrough-running


Open questions

#Question/IssueDecision/Notes
1

If want to have full backward compatibility than we will have ':' in the URL,

alternative way: just remove "ncmp-datastore:" prefix

Its not problem as it is more important to stay backward compatible


Proposed solutions

  1. Use just a switch to execute the appropriate function from the old functions

  2. Use Factory pattern alone

  3. Use Builder pattern to set config for the Factory (Thanks Andras for the idea)

  4. Make handler Builder (Solution will be proposed by Andras)


Advantages and Disadvantages of Proposed Solutions

...

AdvantagesDisadvantages
All the advantages of the Builder Pattern and Factory used togetherAll the disadvantages of the Builder Pattern and Factory used together
No factory is needed the handle function will be reused from the aboveNot really a builder nor a Factory so maybe a bit hard to grasp at first


Decision & Rationale

The number 4 will be implemented which is mix of Builder and Factory