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 (Thanks Andras for the idea)
- Make handler Builder (Solution will be proposed by Andras)
Advantages and Disadvantages of Proposed Solutions
Advantages and Disadvantages of the simple switch
Advantages | Disadvantages |
---|---|
Advantages and Disadvantages of the Factory Pattern
Advantages | Disadvantages |
---|---|
Advantages and Disadvantages of the Builder Pattern and Factory used together
Advantages | Disadvantages |
---|---|