Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ repositories {
dependencies {
api platform('com.exactpro.th2:bom:3.2.0')

implementation 'org.slf4j:slf4j-api'
implementation 'org.slf4j:slf4j-log4j12'

implementation 'com.exactpro.th2:common:3.39.3'

Expand All @@ -68,7 +66,7 @@ dependencies {
}
implementation 'com.exactpro.th2:grpc-data-provider:1.1.0-TS-1083-response-formats-2759013731-SNAPSHOT'

implementation 'io.github.microutils:kotlin-logging:2.1.23'
implementation 'io.github.microutils:kotlin-logging:2.1.14'

implementation('io.prometheus:simpleclient') {
because('need add custom metrics to provider')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ package com.exactpro.th2.lwdataprovider
import com.exactpro.cradle.messages.StoredMessage
import com.exactpro.th2.common.grpc.Message
import com.exactpro.th2.common.grpc.RawMessage
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.responses.LastScannedObjectInfo
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import io.prometheus.client.Histogram
import mu.KotlinLogging
import java.time.Instant
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package com.exactpro.th2.lwdataprovider.configuration

import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import java.util.*


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ import com.exactpro.cradle.messages.StoredMessageId
import com.exactpro.th2.common.grpc.MessageGroupBatch
import com.exactpro.th2.common.grpc.RawMessage
import com.exactpro.th2.common.message.plusAssign
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.lwdataprovider.MessageRequestContext
import com.exactpro.th2.lwdataprovider.RabbitMqDecoder
import com.exactpro.th2.lwdataprovider.RequestedMessageDetails
import com.exactpro.th2.lwdataprovider.configuration.Configuration
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import mu.KotlinLogging
import kotlin.concurrent.withLock
import kotlin.system.measureTimeMillis
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.exactpro.th2.lwdataprovider.entities.internal

enum class ResponseFormat {
ALL,
BASE_64,
PARSED,

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package com.exactpro.th2.lwdataprovider.entities.requests

import com.exactpro.th2.common.grpc.MessageID
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import com.exactpro.th2.lwdataprovider.grpc.toStoredMessageId


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ import com.exactpro.cradle.Direction
import com.exactpro.cradle.TimeRelation
import com.exactpro.cradle.messages.StoredMessageId
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.dataprovider.grpc.MessageStreamPointer
import com.exactpro.th2.lwdataprovider.entities.exceptions.InvalidRequestException
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import com.exactpro.th2.lwdataprovider.grpc.toInstant
import com.exactpro.th2.lwdataprovider.grpc.toLocalResponseFormats
import com.exactpro.th2.lwdataprovider.grpc.toProviderMessageStreams
import com.exactpro.th2.lwdataprovider.grpc.toProviderRelation
import com.exactpro.th2.lwdataprovider.grpc.toStoredMessageId
Expand Down Expand Up @@ -103,7 +104,7 @@ data class SseMessageSearchRequest(
attachedEvents = false, // disabled
lookupLimitDays = null,
onlyRaw = false, // NOT SUPPORTED in GRPC
responseFormats = grpcRequest.responseFormatsList
responseFormats = grpcRequest.responseFormatsList.toLocalResponseFormats()
)

private fun checkEndTimestamp() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ package com.exactpro.th2.lwdataprovider.grpc
import com.exactpro.cradle.messages.StoredMessage
import com.exactpro.th2.common.grpc.Message
import com.exactpro.th2.common.grpc.RawMessage
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.dataprovider.grpc.MessageSearchResponse
import com.exactpro.th2.dataprovider.grpc.MessageStreamPointers
import com.exactpro.th2.lwdataprovider.GrpcResponseHandler
import com.exactpro.th2.lwdataprovider.MessageRequestContext
import com.exactpro.th2.lwdataprovider.RequestedMessageDetails
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.responses.LastScannedObjectInfo
import com.exactpro.th2.lwdataprovider.producers.GrpcMessageProducer
import java.util.concurrent.ConcurrentHashMap
Expand Down
16 changes: 16 additions & 0 deletions src/main/kotlin/com/exactpro/th2/lwdataprovider/grpc/GrpcUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,26 @@ import com.exactpro.th2.common.grpc.Direction
import com.exactpro.th2.common.grpc.MessageID
import com.exactpro.th2.dataprovider.grpc.MessageStream
import com.exactpro.th2.dataprovider.grpc.TimeRelation
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.requests.ProviderMessageStream
import com.google.protobuf.Timestamp
import java.time.Instant

fun List<com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat>?.toLocalResponseFormats() : List<ResponseFormat> {
val list : MutableList<ResponseFormat> = ArrayList()
if (this.isNullOrEmpty()) {
list.add(ResponseFormat.ALL)
} else
for (i in this) {
when (i.name) {
ResponseFormat.ALL.name -> list.add(ResponseFormat.ALL)
ResponseFormat.BASE_64.name -> list.add(ResponseFormat.BASE_64)
ResponseFormat.PARSED.name -> list.add(ResponseFormat.PARSED)
}
}
return list.toList()
}

fun Timestamp.toInstant() : Instant = Instant.ofEpochSecond(this.seconds, this.nanos.toLong())

fun TimeRelation?.toProviderRelation(): com.exactpro.cradle.TimeRelation {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ import com.exactpro.cradle.messages.StoredMessageId
import com.exactpro.th2.lwdataprovider.MessageRequestContext
import com.exactpro.th2.lwdataprovider.configuration.Configuration
import com.exactpro.th2.lwdataprovider.db.CradleMessageExtractor
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.requests.GetMessageRequest
import com.exactpro.th2.lwdataprovider.entities.requests.SseMessageSearchRequest
import mu.KotlinLogging
import java.util.concurrent.ExecutorService
import kotlin.math.max
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat

class SearchMessagesHandler(
private val cradleMsgExtractor: CradleMessageExtractor,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ package com.exactpro.th2.lwdataprovider.http
import com.exactpro.cradle.messages.StoredMessage
import com.exactpro.th2.common.grpc.Message
import com.exactpro.th2.common.grpc.RawMessage
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.lwdataprovider.*
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.responses.Event
import com.exactpro.th2.lwdataprovider.entities.responses.LastScannedObjectInfo
import com.exactpro.th2.lwdataprovider.producers.MessageProducer53
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ import com.exactpro.th2.common.grpc.ConnectionID
import com.exactpro.th2.common.grpc.MessageID
import com.exactpro.th2.dataprovider.grpc.MessageGroupItem
import com.exactpro.th2.dataprovider.grpc.MessageGroupResponse
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat.BASE_64
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat.PARSED
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat.ALL
import com.exactpro.th2.lwdataprovider.RequestedMessageDetails
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat.ALL
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat.BASE_64
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat.PARSED
import com.google.protobuf.Timestamp
import java.time.Instant

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ package com.exactpro.th2.lwdataprovider.producers
import com.exactpro.th2.common.grpc.Message
import com.exactpro.th2.common.message.addFields
import com.exactpro.th2.common.message.messageType
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat
import com.exactpro.th2.lwdataprovider.CustomJsonFormatter
import com.exactpro.th2.lwdataprovider.RequestedMessageDetails
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat.ALL
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat.BASE_64
import com.exactpro.th2.lwdataprovider.entities.internal.ResponseFormat.PARSED
import com.exactpro.th2.lwdataprovider.entities.responses.ProviderMessage53
import java.util.Base64
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat.PARSED
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat.BASE_64
import com.exactpro.th2.dataprovider.grpc.MessageSearchRequest.ResponseFormat.ALL


@Deprecated("for 5.3 messages")
class MessageProducer53 {
Expand Down