mirror of
https://github.com/pcvolkmer/etl-processor.git
synced 2025-04-19 17:26:51 +00:00
Handle delete requests by using REST request to bwHC
Kafka implementation is not implemented yet.
This commit is contained in:
parent
e1d05ef574
commit
a1e56f1596
@ -30,7 +30,7 @@ class KafkaMtbFileSender(
|
||||
|
||||
private val logger = LoggerFactory.getLogger(KafkaMtbFileSender::class.java)
|
||||
|
||||
override fun send(request: MtbFileSender.Request): MtbFileSender.Response {
|
||||
override fun send(request: MtbFileSender.MtbFileRequest): MtbFileSender.Response {
|
||||
return try {
|
||||
val result = kafkaTemplate.sendDefault(
|
||||
header(request),
|
||||
@ -49,7 +49,12 @@ class KafkaMtbFileSender(
|
||||
}
|
||||
}
|
||||
|
||||
private fun header(request: MtbFileSender.Request): String {
|
||||
// TODO not yet implemented
|
||||
override fun send(request: MtbFileSender.DeleteRequest): MtbFileSender.Response {
|
||||
return MtbFileSender.Response(MtbFileSender.ResponseStatus.UNKNOWN)
|
||||
}
|
||||
|
||||
private fun header(request: MtbFileSender.MtbFileRequest): String {
|
||||
return "{\"pid\": \"${request.mtbFile.patient.id}\", " +
|
||||
"\"eid\": \"${request.mtbFile.episode.id}\", " +
|
||||
"\"requestId\": \"${request.requestId}\"}"
|
||||
|
@ -33,7 +33,7 @@ class RestMtbFileSender(private val restTargetProperties: RestTargetProperties)
|
||||
|
||||
private val restTemplate = RestTemplate()
|
||||
|
||||
override fun send(request: MtbFileSender.Request): MtbFileSender.Response {
|
||||
override fun send(request: MtbFileSender.MtbFileRequest): MtbFileSender.Response {
|
||||
try {
|
||||
val headers = HttpHeaders()
|
||||
headers.contentType = MediaType.APPLICATION_JSON
|
||||
@ -62,4 +62,25 @@ class RestMtbFileSender(private val restTargetProperties: RestTargetProperties)
|
||||
return MtbFileSender.Response(MtbFileSender.ResponseStatus.ERROR, "Sonstiger Fehler bei der Übertragung")
|
||||
}
|
||||
|
||||
override fun send(request: MtbFileSender.DeleteRequest): MtbFileSender.Response {
|
||||
try {
|
||||
val headers = HttpHeaders()
|
||||
headers.contentType = MediaType.APPLICATION_JSON
|
||||
val entityReq = HttpEntity(null, headers)
|
||||
restTemplate.delete(
|
||||
restTargetProperties.uri!!,
|
||||
entityReq,
|
||||
String::class.java
|
||||
)
|
||||
logger.debug("Sent file via RestMtbFileSender")
|
||||
MtbFileSender.Response(MtbFileSender.ResponseStatus.SUCCESS)
|
||||
} catch (e: IllegalArgumentException) {
|
||||
logger.error("Not a valid URI to export to: '{}'", restTargetProperties.uri!!)
|
||||
} catch (e: RestClientException) {
|
||||
logger.info(restTargetProperties.uri!!.toString())
|
||||
logger.error("Cannot send data to remote system", e)
|
||||
}
|
||||
return MtbFileSender.Response(MtbFileSender.ResponseStatus.ERROR, "Sonstiger Fehler bei der Übertragung")
|
||||
}
|
||||
|
||||
}
|
@ -31,12 +31,9 @@ import org.apache.commons.codec.binary.Base32
|
||||
import org.apache.commons.codec.digest.DigestUtils
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.PostMapping
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import reactor.core.publisher.Sinks
|
||||
import java.util.UUID
|
||||
import java.util.*
|
||||
|
||||
@RestController
|
||||
class MtbFileController(
|
||||
@ -129,7 +126,7 @@ class MtbFileController(
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping(path = ["/mtbfile/{patientId}"])
|
||||
@DeleteMapping(path = ["/mtbfile/{patientId}"])
|
||||
fun deleteData(@PathVariable patientId: String): ResponseEntity<Void> {
|
||||
val requestId = UUID.randomUUID().toString()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user