Description/Scope
There are 3 datastore related endpoints exists on the proxy controller.
/v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational:
$ref: 'ncmp.yml#/getResourceDataForPassthroughOperational'
/v1/ch/{cm-handle}/data/ds/ncmp-datastores:operational:
$ref: 'ncmp.yml#/getResourceDataOperational'
/v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
$ref: 'ncmp.yml#/resourceDataForPassthroughRunning'
It would be better to have just one handling all the cases like /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}
where can be set to operational or passthrough-operational or passthrough-running
Open questions
If want to have full backward compatibility than we will have : in the URL
Proposed solutions
- Use just a switch to execute the appropriate handler
- Use Factory pattern alone
- Use Builder pattern to make a the config for the factory Factory (Thanks Andras for the idea)
- Make handler builderBuilder (Solution will be proposed by Andras)
Advantages and Disadvantages of Proposed Solutions
Advantages and Disadvantages of the simple switch
Advantages and Disadvantages of the Factory Pattern
Advantages and Disadvantages of the Builder Pattern