Skip to content

Commit

Permalink
Merge pull request #22 from MDalfre/develop
Browse files Browse the repository at this point in the history
Develop 3.1.0
  • Loading branch information
MDalfre committed Mar 26, 2024
2 parents a0ee59f + b477567 commit c674d31
Show file tree
Hide file tree
Showing 13 changed files with 94 additions and 53 deletions.
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ plugins {
id("io.gitlab.arturbosch.detekt").version("1.18.0-RC3")
}

var lastAppVersion = "3.0.0"
var lastAppVersion = "3.1.0"

group = "ma.dalfre"
version = lastAppVersion
Expand All @@ -21,7 +21,7 @@ repositories {

dependencies {
implementation(compose.desktop.currentOs)
implementation("com.amazonaws:aws-java-sdk:1.11.163")
implementation("com.amazonaws:aws-java-sdk-sqs:1.11.163")
implementation("com.fasterxml.jackson.core:jackson-core:2.13.4")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.4")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion src/main/kotlin/commons/DefaultColors.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ object DefaultColors {
val tintColor = Color(0xFF64B5F6)
val buttonColor = Color(0xFF757575)
val dropDownColor = Color.Gray
}
}
15 changes: 9 additions & 6 deletions src/main/kotlin/components/ConnectionForm.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ import androidx.compose.material.DropdownMenuItem
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.amazonaws.regions.Regions
import commons.DefaultColors.dropDownColor
import connectionService
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import model.ConnectionSettings
import model.CredentialType
import model.ui.Theme
Expand All @@ -30,6 +32,7 @@ import service.FileHandleService
import service.GenericSqsService
import service.VariableStore

@OptIn(DelicateCoroutinesApi::class)
@Suppress("LongMethod", "ComplexMethod")
@Composable
@Preview
Expand All @@ -42,7 +45,7 @@ fun connectionForm(
Row {
defaultTextField(
modifier = Modifier.clickable { variableStore.expandedCredential = !variableStore.expandedCredential },
text = "Credential Type1",
text = "Credential Type",
value = variableStore.selectedCredential,
onValueChange = { variableStore.selectedCredential = it }
)
Expand Down Expand Up @@ -131,7 +134,7 @@ fun connectionForm(
)
FileHandleService().createConfigFile(settings)

Thread {
GlobalScope.launch {
variableStore.connecting = true
connectionService = ConnectionService(
connectionSettings = settings,
Expand All @@ -144,7 +147,7 @@ fun connectionForm(
).getQueues()
}
variableStore.connecting = communicationService.sqsConnected
}.start()
}
}) {
Text("Connect")
}
Expand All @@ -153,10 +156,10 @@ fun connectionForm(
colors = theme.defaultButtonColor,
modifier = theme.buttonModifier,
onClick = {
Thread {
GlobalScope.launch {
variableStore.connecting = false
connectionService!!.disconnect()
}.start()
}
}) {
Text("Disconnect")
}
Expand Down
16 changes: 13 additions & 3 deletions src/main/kotlin/components/CreateQueue.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,22 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import commons.DefaultColors.backgroundColor
import commons.DefaultColors.buttonColor
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import service.CommunicationService
import service.ConnectionService
import service.GenericSqsService
import service.VariableStore

@OptIn(DelicateCoroutinesApi::class)
@Suppress("LongMethod")
@Composable
fun createQueue(connectionService: ConnectionService, communicationService: CommunicationService) {
fun createQueue(
connectionService: ConnectionService,
communicationService: CommunicationService,
variableStore: VariableStore
) {

val buttonModifier = Modifier.padding(10.dp)
val defaultButtonColor = ButtonDefaults.buttonColors(backgroundColor = buttonColor, contentColor = Color.Black)
Expand Down Expand Up @@ -57,10 +66,11 @@ fun createQueue(connectionService: ConnectionService, communicationService: Comm
enabled = (createQueueName.isNotEmpty()),
colors = defaultButtonColor,
onClick = {
Thread {
GlobalScope.launch {
GenericSqsService(connectionService, communicationService)
.createQueue(createQueueName)
}.start()
variableStore.createQueue = !variableStore.createQueue
}
}
) {
Text("Create Queue")
Expand Down
14 changes: 11 additions & 3 deletions src/main/kotlin/components/DefaultTextField.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package components

import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material.LinearProgressIndicator
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
Expand All @@ -18,15 +20,17 @@ import androidx.compose.ui.unit.sp
import commons.DefaultColors.secondaryColor

@Composable
@Suppress("LongParameterList")
fun defaultTextField(
modifier: Modifier = Modifier,
text: String,
value: String,
onValueChange: (String) -> Unit,
enabled: Boolean = true
enabled: Boolean = true,
loading: Boolean = false
) {
Column(
modifier = Modifier.padding(top = 10.dp, )
modifier = Modifier.padding(top = 10.dp)
) {
Text(
text = text,
Expand All @@ -49,7 +53,11 @@ fun defaultTextField(
.height(30.dp)
.padding(5.dp)
) {
innerTextField()
if (loading) {
LinearProgressIndicator(color = secondaryColor, modifier = Modifier.fillMaxSize())
} else {
innerTextField()
}
}
}
)
Expand Down
10 changes: 7 additions & 3 deletions src/main/kotlin/components/DlqReprocess.kt
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,20 @@ import commons.Constants.DEFAULT_LOADING_START
import commons.Constants.DEFAULT_TIME_INTERVAL
import commons.Constants.ZERO
import commons.DefaultColors.backgroundColor
import commons.DefaultColors.secondaryColor
import commons.DefaultColors.buttonColor
import commons.DefaultColors.dropDownColor
import commons.DefaultColors.secondaryColor
import commons.Util.toPercentage
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import model.ProcessStatusEnum
import model.Queue
import service.CommunicationService
import service.ConnectionService
import service.GenericSqsService

@OptIn(DelicateCoroutinesApi::class)
@Suppress("LongMethod", "ComplexMethod")
@Composable
fun dlqReprocess(connectionService: ConnectionService, communicationService: CommunicationService) {
Expand Down Expand Up @@ -236,14 +240,14 @@ fun dlqReprocess(connectionService: ConnectionService, communicationService: Com
colors = defaultButtonColor,
onClick = {
completedMessage = ""
Thread {
GlobalScope.launch {
GenericSqsService(connectionService, communicationService)
.reprocessDlq(
queueUrl = selectedTargetUrl,
dlqUrl = selectedSourceUrl,
delay = timeInterval.toLong()
)
}.start()
}
reprocessStart = true
messageCounter = 1
}
Expand Down
16 changes: 10 additions & 6 deletions src/main/kotlin/components/ReceiveMessageForm.kt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
Expand All @@ -46,12 +45,16 @@ import commons.DefaultColors.dropDownColor
import commons.Util
import commons.prettyJson
import connectionService
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import model.ui.Theme
import service.CommunicationService
import service.FileHandleService
import service.GenericSqsService
import service.VariableStore

@OptIn(DelicateCoroutinesApi::class)
@Suppress("LongMethod", "ComplexMethod")
@Composable
fun receiveMessageForm(variableStore: VariableStore, communicationService: CommunicationService, theme: Theme) {
Expand All @@ -75,7 +78,8 @@ fun receiveMessageForm(variableStore: VariableStore, communicationService: Commu
},
text = "Queues",
value = variableStore.selectedQueueToReceive,
onValueChange = { variableStore.selectedQueueToReceive = it }
onValueChange = { variableStore.selectedQueueToReceive = it },
loading = variableStore.queues.isEmpty() && variableStore.connecting
)
DropdownMenu(
modifier = Modifier.width(450.dp).heightIn(10.dp, 200.dp).background(dropDownColor),
Expand Down Expand Up @@ -189,14 +193,14 @@ fun receiveMessageForm(variableStore: VariableStore, communicationService: Commu
enabled = variableStore.connecting && (variableStore.selectedQueueToReceive != " "),
colors = theme.defaultButtonColor,
onClick = {
Thread {
GlobalScope.launch {
val result = GenericSqsService(connectionService!!, communicationService)
.receive(
queueUrl = variableStore.selectedUrlToReceive,
consume = variableStore.deleteMessage
)
variableStore.receivedMessages = result
}.start()
}
}
) {
Text("Consume Messages")
Expand All @@ -206,9 +210,9 @@ fun receiveMessageForm(variableStore: VariableStore, communicationService: Commu
enabled = variableStore.receivedMessages.isNotEmpty(),
colors = theme.defaultButtonColor,
onClick = {
Thread {
GlobalScope.launch {
FileHandleService().dumpMessageToFile(variableStore.receivedMessages, communicationService)
}.start()
}
}
) {
Text("Dump")
Expand Down
13 changes: 9 additions & 4 deletions src/main/kotlin/components/SendMessageForm.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,16 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import commons.DefaultColors.dropDownColor
import connectionService
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import model.ui.Theme
import service.CommunicationService
import service.FileHandleService
import service.GenericSqsService
import service.VariableStore

@OptIn(DelicateCoroutinesApi::class)
@Suppress("LongMethod", "ComplexMethod")
@Composable
fun sendMessageFrom(
Expand All @@ -48,7 +52,8 @@ fun sendMessageFrom(
},
text = "Queues",
value = variableStore.selectedQueueToSend,
onValueChange = { variableStore.selectedQueueToSend = it }
onValueChange = { variableStore.selectedQueueToSend = it },
loading = variableStore.queues.isEmpty() && variableStore.connecting
)
DropdownMenu(
modifier = Modifier.width(450.dp).heightIn(10.dp, 200.dp).background(dropDownColor),
Expand Down Expand Up @@ -84,13 +89,13 @@ fun sendMessageFrom(
enabled = variableStore.connecting && (variableStore.selectedQueueToSend != " "),
colors = theme.defaultButtonColor,
onClick = {
Thread {
GlobalScope.launch {
GenericSqsService(connectionService!!, communicationService).send(
variableStore.selectedUrlToSend,
variableStore.message.replace("\n", "").replace(" ",""),
variableStore.message.replace("\n", "").replace(" ", ""),
1
)
}.start()
}
}
) {
Text("Produce Message")
Expand Down
Loading

0 comments on commit c674d31

Please sign in to comment.