responses:
"501":
$ref: '#/components/responses/NotImplemented'
+ /v1/dataJob/{requestId}/dataProducerJob/{dataProducerJobId}/status:
+ get:
+ description: Retrieve the status of a specific data job.
+ operationId: getDataJobStatus
+ parameters:
+ - $ref: '#/components/parameters/requestIdInPath'
+ - $ref: '#/components/parameters/dataProducerJobIdInPath'
+ - $ref: '#/components/parameters/dataProducerIdInQuery'
+ tags:
+ - dmi-datajob
+ responses:
+ "501":
+ $ref: '#/components/responses/NotImplemented'
components:
parameters:
schema:
example: some-identifier
type: string
+ dataProducerJobIdInPath:
+ description: Identifier for the data producer job
+ in: path
+ name: dataProducerJobId
+ required: true
+ schema:
+ example: some-producer-job-identifier
+ type: string
+ dataProducerIdInQuery:
+ name: dataProducerId
+ in: query
+ description: Identifier for the data producer
+ required: true
+ schema:
+ type: string
+ example: some-data-producer-identifier
schemas:
ErrorMessage:
type: object
@RestController
public class DmiDatajobsRestController implements DmiDatajobApi {
/**
- * * This method is not implemented for ONAP DMI plugin.
+ * This method is not implemented for ONAP DMI plugin.
*
* @param requestId Identifier for the overall Datajob (required)
* @param subjobReadRequest Operation body (optional)
}
/**
- * * This method is not implemented for ONAP DMI plugin.
+ * This method is not implemented for ONAP DMI plugin.
*
* @param requestId Identifier for the overall Datajob (required)
* @param subjobWriteRequest Operation body (optional)
final SubjobWriteRequest subjobWriteRequest) {
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
}
+
+ /**
+ * This method is not implemented for ONAP DMI plugin.
+ *
+ * @param requestId Identifier for the overall Datajob (required)
+ * @param dataProducerJobId Identifier for the data producer job (required)
+ * @param dataProducerId Identifier for the data producer as a query parameter (required)
+ * @return ResponseEntity(Void) response entity indicating the method is not implemented
+ */
+ @Override
+ public ResponseEntity<Void> getDataJobStatus(final String requestId,
+ final String dataProducerJobId,
+ final String dataProducerId) {
+ return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
+ }
}
import org.springframework.test.web.servlet.MockMvc
import spock.lang.Specification
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post
@Import(WebSecurityConfig)
then: 'response value is Not Implemented'
response.status == HttpStatus.NOT_IMPLEMENTED.value()
}
+
+ def 'get status request should return 501 HTTP Status' () {
+ given: 'URL to get the status of a data job'
+ def getStatus = "${basePathV1}/dataJob/some-identifier/dataProducerJob/some-producer-job-identifier/status?dataProducerId=some-data-producer-identifier"
+ when: 'the request is performed'
+ def response = mvc.perform(
+ get(getStatus)
+ .contentType('application/json')
+ ).andReturn().response
+ then: 'response value is Not Implemented'
+ response.status == HttpStatus.NOT_IMPLEMENTED.value()
+ }
}
title: NCMP Data Subjob API
version: 1.0.0
servers:
-- url: /dmi
+ - url: /dmi
tags:
-- description: DMI plugin rest apis
- name: dmi-datajob
+ - description: DMI plugin rest apis
+ name: dmi-datajob
paths:
/v1/readJob/{requestId}:
post:
description: Create a read request
operationId: readDataJob
parameters:
- - description: Identifier for the overall Datajob
- explode: false
- in: path
- name: requestId
- required: true
- schema:
- example: some-identifier
- type: string
- style: simple
+ - description: Identifier for the overall Datajob
+ explode: false
+ in: path
+ name: requestId
+ required: true
+ schema:
+ example: some-identifier
+ type: string
+ style: simple
requestBody:
content:
application/3gpp-json-patch+json:
$ref: '#/components/schemas/ErrorMessage'
description: Not Implemented
tags:
- - dmi-datajob
+ - dmi-datajob
/v1/writeJob/{requestId}:
post:
description: Create a write request
operationId: writeDataJob
parameters:
- - description: Identifier for the overall Datajob
- explode: false
- in: path
- name: requestId
- required: true
- schema:
- example: some-identifier
- type: string
- style: simple
+ - description: Identifier for the overall Datajob
+ explode: false
+ in: path
+ name: requestId
+ required: true
+ schema:
+ example: some-identifier
+ type: string
+ style: simple
requestBody:
content:
application/3gpp-json-patch+json:
$ref: '#/components/schemas/ErrorMessage'
description: Not Implemented
tags:
- - dmi-datajob
+ - dmi-datajob
+ /v1/dataJob/{requestId}/dataProducerJob/{dataProducerJobId}/status:
+ get:
+ description: Retrieve the status of a specific data job.
+ operationId: getDataJobStatus
+ parameters:
+ - description: Identifier for the overall Datajob
+ explode: false
+ in: path
+ name: requestId
+ required: true
+ schema:
+ example: some-identifier
+ type: string
+ style: simple
+ - description: Identifier for the data producer job
+ explode: false
+ in: path
+ name: dataProducerJobId
+ required: true
+ schema:
+ example: some-producer-job-identifier
+ type: string
+ style: simple
+ - description: Identifier for the data producer
+ explode: true
+ in: query
+ name: dataProducerId
+ required: true
+ schema:
+ example: some-data-producer-identifier
+ type: string
+ style: form
+ responses:
+ "501":
+ content:
+ application/json:
+ example:
+ status: 501
+ message: Not Implemented
+ details: Method Not Implemented
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Not Implemented
+ tags:
+ - dmi-datajob
components:
parameters:
requestIdInPath:
example: some-identifier
type: string
style: simple
+ dataProducerJobIdInPath:
+ description: Identifier for the data producer job
+ explode: false
+ in: path
+ name: dataProducerJobId
+ required: true
+ schema:
+ example: some-producer-job-identifier
+ type: string
+ style: simple
+ dataProducerIdInQuery:
+ description: Identifier for the data producer
+ explode: true
+ in: query
+ name: dataProducerId
+ required: true
+ schema:
+ example: some-data-producer-identifier
+ type: string
+ style: form
responses:
NotImplemented:
content:
$ref: '#/components/schemas/SubjobReadRequest_data_inner'
type: array
required:
- - data
- - dataProducerId
+ - data
+ - dataProducerId
type: object
SubjobWriteRequest:
properties:
$ref: '#/components/schemas/SubjobWriteRequest_data_inner'
type: array
required:
- - data
- - dataProducerId
+ - data
+ - dataProducerId
type: object
CmHandleProperties:
description: Private properties of the cm handle for the given path
type: object
Object:
type: object
+ SubjobWriteResponse:
+ properties:
+ subJobId:
+ description: Unique identifier for the sub-job
+ example: my-sub-job-id
+ type: string
+ dmiServiceName:
+ description: Name of the relevant DMI Service
+ example: my-dmi-service
+ type: string
+ dataProducerId:
+ description: ID of the producer registered by DMI for the paths in the operations
+ in this request
+ example: my-data-producer-identifier
+ type: string
+ required:
+ - dataProducerId
+ - dmiServiceName
+ - subJobId
+ type: object
SubjobReadRequest_data_inner:
properties:
path:
description: Private properties of the cm handle for the given path
type: object
required:
- - op
- - path
+ - op
+ - path
type: object
SubjobWriteRequest_data_inner_value:
description: Value dependent on the op specified. Resource for an add. Object
for a replace. ActionParameters for an action.
oneOf:
- - $ref: '#/components/schemas/Resource'
- - $ref: '#/components/schemas/ActionParameters'
- - $ref: '#/components/schemas/Object'
+ - $ref: '#/components/schemas/Resource'
+ - $ref: '#/components/schemas/ActionParameters'
+ - $ref: '#/components/schemas/Object'
type: object
SubjobWriteRequest_data_inner:
properties:
value:
$ref: '#/components/schemas/SubjobWriteRequest_data_inner_value'
required:
- - op
- - path
+ - op
+ - path
type: object
- SubjobWriteResponse:
- type: object
- required:
- - subJobId
- - dmiServiceName
- - dataProducerId
- properties:
- subJobId:
- description: Unique identifier for the sub-job
- example: my-sub-job-id
- type: string
- dmiServiceName:
- description: Name of the relevant DMI Service
- example: my-dmi-service
- type: string
- dataProducerId:
- description: ID of the producer registered by DMI for the paths in the operations in this request
- example: my-data-producer-identifier
- type: string