From 1d2c8d130719c3acf0ae7ff280e5c3afae8bf6bd Mon Sep 17 00:00:00 2001 From: stephaniegl Date: Wed, 8 Oct 2025 10:28:15 +0700 Subject: [PATCH 1/2] commit 08/10/2025 WebApp --- src/web/WebApp.kt | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/src/web/WebApp.kt b/src/web/WebApp.kt index 0ab83bf..c2d8e93 100644 --- a/src/web/WebApp.kt +++ b/src/web/WebApp.kt @@ -1412,6 +1412,67 @@ class WebApp(val listenPort: Int, val userlist: List>) { } } } + + // Steph : coba tambah untuk QueuePaging Table. Belum ada di JS file(?) + path("QueuePaging"){ + get("List"){ + it.result(MariaDB.ArrayListtoString(db.queuepagingDB.List)) + } + delete("List"){ + // truncate queue paging table + if (db.queuepagingDB.Clear()) { + db.queuepagingDB.Get() + it.result(objectmapper.writeValueAsString(resultMessage("OK"))) + } else { + it.status(500).result(objectmapper.writeValueAsString(resultMessage("Failed to truncate queue paging table"))) + } + } + delete("DeleteByIndex/{index}") { + // delete by index + val index = it.pathParam("index").toUIntOrNull() + if (index == null) { + it.status(400).result(objectmapper.writeValueAsString(resultMessage("Invalid index"))) + } else { + if (db.queuepagingDB.DeleteByIndex(index.toInt())) { + db.queuepagingDB.Resort() + it.result(objectmapper.writeValueAsString(resultMessage("OK"))) + } else { + it.status(500).result(objectmapper.writeValueAsString(resultMessage("Failed to delete queue paging with index $index"))) + } + } + } + + } + + // Steph : coba tambah untuk QueueTable Table. Belum ada di JS file(?) + path("QueueTable"){ + get("List"){ + it.result(MariaDB.ArrayListtoString(db.queuetableDB.List)) + } + delete("List"){ + // truncate queue table + if (db.queuetableDB.Clear()) { + db.queuetableDB.Get() + it.result(objectmapper.writeValueAsString(resultMessage("OK"))) + } else { + it.status(500).result(objectmapper.writeValueAsString(resultMessage("Failed to truncate queue sound table"))) + } + } + delete("DeleteByIndex/{index}") { + // delete by index + val index = it.pathParam("index").toUIntOrNull() + if (index == null) { + it.status(400).result(objectmapper.writeValueAsString(resultMessage("Invalid index"))) + } else { + if (db.queuetableDB.DeleteByIndex(index.toInt())) { + db.queuetableDB.Resort() + it.result(objectmapper.writeValueAsString(resultMessage("OK"))) + } else { + it.status(500).result(objectmapper.writeValueAsString(resultMessage("Failed to delete queue sound with index $index"))) + } + } + } + } } } }.start(listenPort) From 5f57e1bf2e4bff8e52c1907dfb1162266acff1d5 Mon Sep 17 00:00:00 2001 From: rdkartono Date: Tue, 14 Oct 2025 08:50:05 +0700 Subject: [PATCH 2/2] commit 14/10/2025 combine with coding steph --- src/MainExtension01.kt | 26 ++++++++++++++++++- src/barix/BarixConnection.kt | 6 ++--- .../TCP_Android_Command_Server.kt | 3 +++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/MainExtension01.kt b/src/MainExtension01.kt index 102d265..eba04ce 100644 --- a/src/MainExtension01.kt +++ b/src/MainExtension01.kt @@ -588,11 +588,12 @@ class MainExtension01 { Logger.info { logmessage } db.Add_Log("AAS", logmessage) db.queuepagingDB.DeleteByIndex(qp.index.toInt()) - + db.queuepagingDB.Resort() return true } else { // file tidak valid, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log( "AAS", "Cancelled paging message with index ${qp.index} due to invalid audio file" @@ -602,11 +603,13 @@ class MainExtension01 { } else { // ada broadcast zone yang tidak valid, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log("AAS", "Cancelled paging message with index ${qp.index} due to invalid broadcast zone") } } else { // file tidak valid, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log( "AAS", "Cancelled paging message with index ${qp.index} due to invalid audio file" @@ -615,6 +618,7 @@ class MainExtension01 { } else { // invalid broadcast zone, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log("AAS", "Cancelled paging message with index ${qp.index} due to empty broadcast zone") } } @@ -688,6 +692,7 @@ class MainExtension01 { Logger.info { logmsg } db.Add_Log("AAS", logmsg) db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() return true } else { db.Add_Log( @@ -698,6 +703,7 @@ class MainExtension01 { } } else{ db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log("AAS", result.message) } } @@ -706,6 +712,7 @@ class MainExtension01 { } else { // tidak ada messagebank dengan ann_id ini, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log( "AAS", "Cancelled Shalat message with index ${qp.index} due to ANN_ID $ann_id not found in Messagebank" @@ -716,16 +723,19 @@ class MainExtension01 { } else { // invalid ann_id, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log("AAS", "Cancelled shalat message with index ${qp.index} due to invalid ANN_ID") } } else { // ada broadcast zone yang tidak valid, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log("AAS", "Cancelled shalat message with index ${qp.index} due to invalid broadcast zone") } } else { // invalid broadcast zone, delete from queue paging db.queuepagingDB.DeleteByIndex(qp.index.toInt()) + db.queuepagingDB.Resort() db.Add_Log("AAS", "Cancelled shalat message with index ${qp.index} due to empty broadcast zone") } } @@ -789,14 +799,17 @@ class MainExtension01 { Logger.info { logmsg } db.Add_Log("AAS", logmsg) db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() return true } } else{ db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", result.message) } } else { db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", result.message) } @@ -805,6 +818,7 @@ class MainExtension01 { } else { // tidak ada messagebank dengan ann_id ini, delete from queue table db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log( "AAS", "Cancelled TIMER with index ${qa.index} due to ANN_ID $ann_id not found in Messagebank" @@ -815,16 +829,19 @@ class MainExtension01 { } else { // invalid ann_id, delete from queue table db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", "Cancelled TIMER message with index ${qa.index} due to invalid ANN_ID") } } else { // ada broadcast zone yang tidak valid, delete from queue table db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", "Cancelled TIMER message with index ${qa.index} due to invalid broadcast zone") } } else { // invalid broadcast zone, delete from queue table db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", "Cancelled TIMER message with index ${qa.index} due to empty broadcast zone") } } @@ -903,6 +920,7 @@ class MainExtension01 { "Cancelled SOUNDBANK message with index ${qa.index} due to missing or invalid ANN_ID in SB_TAGS" ) db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() return@forEach } // sampe sini punya ann_id valid @@ -930,12 +948,14 @@ class MainExtension01 { } else { db.Add_Log("AAS", result.message) db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() } } if (listafi.isNotEmpty()){ db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() // bikin nama file ada postifx nya dari SB_TAGS, tapi spasi diganti underscore // dan titik dua diganti dash val postfix = qa.SB_TAGS.replace(" ","_").replace(":","-") @@ -972,6 +992,7 @@ class MainExtension01 { } else { println("Failed to write WAV file: ${result.message}") db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", result.message) } @@ -979,6 +1000,7 @@ class MainExtension01 { } else { // tidak ada messagebank dengan ann_id ini, delete from queue table db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log( "AAS", "Cancelled SOUNDBANK message with index ${qa.index} due to ANN_ID $ann_id not found in Messagebank" @@ -990,11 +1012,13 @@ class MainExtension01 { } else { // ada broadcast zone yang tidak valid, delete from queue table db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", "Cancelled SOUNDBANK message with index ${qa.index} due to invalid broadcast zone") } } else { // invalid broadcast zone, delete from queue table db.queuetableDB.DeleteByIndex(qa.index.toInt()) + db.queuetableDB.Resort() db.Add_Log("AAS", "Cancelled SOUNDBANK message with index ${qa.index} due to empty broadcast zone") } } diff --git a/src/barix/BarixConnection.kt b/src/barix/BarixConnection.kt index bf64281..25c1082 100644 --- a/src/barix/BarixConnection.kt +++ b/src/barix/BarixConnection.kt @@ -111,13 +111,13 @@ class BarixConnection(val index: UInt, var channel: String, val ipaddress: Strin try { val chunk = ByteArray(if (bb.remaining() > maxUDPsize) maxUDPsize else bb.remaining()) bb.get(chunk) - println("Buffer remain: $bufferRemain, sending chunk size: ${chunk.size}") + //println("Buffer remain: $bufferRemain, sending chunk size: ${chunk.size}") while(bufferRemain