diff --git a/src/dlt/gateway/src/main/kotlin/Main.kt b/src/dlt/gateway/src/main/kotlin/Main.kt index 576aeee5699ce7a9dc69342c31160efd170b88ef..c57c9e980853e84d3c10551588dc8d94c14ad40e 100644 --- a/src/dlt/gateway/src/main/kotlin/Main.kt +++ b/src/dlt/gateway/src/main/kotlin/Main.kt @@ -118,7 +118,12 @@ fun main() = runBlocking { val data = DltGateway.DltRecord.newBuilder() .setRecordId(id) .setOperation(DltGateway.DltRecordOperationEnum.DLTRECORDOPERATION_ADD) - .setDataJson("{}") + .setDataJson("\"{\"device_config\": {\"config_rules\": []}, \"device_drivers\": []," + + "\"device_endpoints\": [], \"device_id\": {\"device_uuid\": {\"uuid\": \"dev-12345\"}}," + + "\"device_operational_status\": \"DEVICEOPERATIONALSTATUS_ENABLED\"," + + "\"device_type\": \"packet-router\"}\", \"operation\": \"DLTRECORDOPERATION_ADD\"," + + "\"record_id\": {\"domain_uuid\": {\"uuid\": \"tfs-a\"}, \"record_uuid\": {\"uuid\": \"dev-12345\"}," + + "\"type\": \"DLTRECORDTYPE_DEVICE\"}") .build() println("sending new record") diff --git a/src/dlt/gateway/src/main/kotlin/fabric/FabricConnector.kt b/src/dlt/gateway/src/main/kotlin/fabric/FabricConnector.kt index d6feaa0ab39f4f5e651100154e67c96ada2ee493..af6592be93c86e316a64cd23edd46bbbdc240cfd 100644 --- a/src/dlt/gateway/src/main/kotlin/fabric/FabricConnector.kt +++ b/src/dlt/gateway/src/main/kotlin/fabric/FabricConnector.kt @@ -60,6 +60,9 @@ class FabricConnector(val config: Config.DltConfig) { private val channels: MutableList<Channel<DltRecordEvent>> = mutableListOf() + private val encoder: Base64.Encoder = Base64.getEncoder() + private val decoder: Base64.Decoder = Base64.getDecoder() + init { // Create a CA client for interacting with the CA. val props = Properties() @@ -80,7 +83,7 @@ class FabricConnector(val config: Config.DltConfig) { val consumer = Consumer { event: ContractEvent? -> run { println("new event detected") - val record = DltRecord.parseFrom(event?.payload?.get()) + val record = DltRecord.parseFrom(decoder.decode(event?.payload?.get())) println(record.recordId.recordUuid) val eventType: ContextOuterClass.EventTypeEnum = when (event?.name) { "Add" -> ContextOuterClass.EventTypeEnum.EVENTTYPE_CREATE @@ -118,13 +121,12 @@ class FabricConnector(val config: Config.DltConfig) { fun putData(record: DltRecord): String { println(record.toString()) - println("Put: ${record.toByteArray().decodeToString().length}") try { contract.submitTransaction( "AddRecord", record.recordId.recordUuid.uuid, - record.toByteArray().decodeToString() + encoder.encodeToString(record.toByteArray()) ) } catch (e: Exception) { println(e.toString()) @@ -134,13 +136,12 @@ class FabricConnector(val config: Config.DltConfig) { } fun getData(uuid: String): DltRecord { - try { + return try { val result = contract.evaluateTransaction("GetRecord", uuid) - println("Get: ${result.size}") - return DltRecord.parseFrom(result) + DltRecord.parseFrom(decoder.decode(result)) } catch (e: Exception) { println(e.toString()) - return DltRecord.getDefaultInstance() + DltRecord.getDefaultInstance() } } @@ -149,7 +150,7 @@ class FabricConnector(val config: Config.DltConfig) { contract.submitTransaction( "UpdateRecord", record.recordId.recordUuid.uuid, - record.toByteArray().decodeToString() + encoder.encodeToString(record.toByteArray()) ) } catch (e: Exception) { return e.toString()