References
- CPS-2155Getting issue details... STATUS
Assumptions
# | Assumption | Notes |
---|---|---|
1 |
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | dataaccepttype Do we need to consider this parameter in our NCMP internal Java interface? | The controller should accept/reject dataaccepttype. From the client application | The Controller will validate and set the Default as necessary kieran mccarthy Sourabh Sourabh Kolawole Adebisi-Adeolokun Toine Siebelink |
2 | datacontenttype Do we need to consider this parameter in our NCMP internal Java interface? | NCMP should maintain the content type as received and not modify datacontenttype. | NCMP should maintain what content type as received and not modify kieran mccarthy Sourabh Sourabh Kolawole Adebisi-Adeolokun Toine Siebelink |
3 |
| kieran mccarthy & Rafael to come back with a 'definition' and 'example | Kolawole Adebisi-Adeolokun to follow up with stakeholders on decision by 19/03/2024 |
4 | The study mentions ' | kieran mccarthy & Rafael to come back with a 'definition' and 'example | Read and Write data jobs are 2 deff. objects. Kolawole Adebisi-Adeolokun to follow up with stakeholders on decision by 19/03/2024 |
5 | Combine all java api parameters into 1 parameter object? | There is a limit (sonar quality check) of 7 parameter max for a method | Team |
Data Structures
Proposed Method signature
void processReadDataJob(String dataAcceptType, String dataContentType, String dataJobId, List<ReadOperation> readOperations) void processWriteDataJob(String dataAcceptType, String dataContentType, String dataJobId, List<WriteOperation> writeOperations, Map<String,String> metadata)
Notes
- The order of Operations is important and needs to be maintained hence the use of 'List'
- The output is 'void' for the scope in this user story, it will be defined later
dataaccepttype
anddatacontenttype
might be needed too, see issue #1 and #2. If required we could combine them to reduce the number of parameter in an object likeRestProtocolParameters
Datajob read request
Name | Description | Location | Type | Mandatory |
---|---|---|---|---|
destination | The destination of the results. ( e.g. S3 Bucket) | Query | string | N |
dataaccepttype | Define the data response accept type. Passible values: · application/vnd.3gpp.object-tree-hierarchical+json (default) · application/vnd.3gpp.object-tree-flat+json | request body | enum | N |
datacontenttype | Define the data request content type. Passible values: · application/3gpp-json-patch+json (default) | request body | enum | N |
data | List of operations to be executed. | request body | List of 3gppReadOperation | Y |
3gppReadOperation
Name | Description | Type |
---|---|---|
path | It is a unique identifier of a managed object (MO) on a network element. | String |
op | Describes the operation to execute. The value can be: "read" | String |
operationId | Unique identifier of the operation within the request | Integer |
attributes | This parameter specifies the attributes of the scoped resources that are returned. | List of String |
fields | This parameter specifies the attribute fields of the scoped resources that are returned. This should be used if an attribute is a struct and only a subset of its fields should be returned. | List of String |
filter | The parameter is used to filter the scoped Managed Objects. Only Managed Objects passing the filter criteria will be fetched. | List of String |
scopeType | ScopeType selects MOs depending on relationships with Base Managed Object. | enum[BASE_ONLY, BASE_ALL, BASE_NTH_LEVEL, BASE_SUBTREE] |
scopeLevel | Only used when the scope type is BASE_NTH_LEVEL | Integer |
Datajob write request
Name | Description | Location | Type | Mandatory |
---|---|---|---|---|
destination | The destination of the results. ( e.g. S3 Bucket) | Query | string | N |
dataaccepttype | Define the data response accept type. Passible values: · application/vnd.3gpp.object-tree-hierarchical+json (default) · application/vnd.3gpp.object-tree-flat+json | request body | enum | N |
datacontenttype | Define the data request content type. Passible values: · application/3gpp-json-patch+json (default) | request body | enum | N |
data | List of operations to be executed. | request body | List of 3gppPatchOperation | Y |
3gppPatchOperation
Name | Description | Type |
---|---|---|
path | It is a unique identifier of a managed object (MO) on a network element. | String |
op | Describes the operation to execute. The value can be: "add", | String |
operationId | Unique identifier of the operation within the request | Integer |
value | Value of the write operation. NA if op is delete | Object |
Examples from DCM Study
DataJob Read request (rAPP -> DCM)
Datajob Write request (rAPP -> DCM)
Proposed JIRAs
Component | Description | JIRA | Estimates | |
---|---|---|---|---|
1 | Create implementation proposal for NCMP to provide support for Data jobs qualifier during registration | |||
2 | Support of Datajobs qualifier during registration | |||
3 | Create implementation proposal for NCMP to provide Java interface that can support Data jobs request | |||
4 | Define a java based datastructure for DataJob | |||
5 | NCMP to provide support for data producer identifier during registration | |||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
11 | ||||
12 | ||||
13 |