Skip to content

Commit a26194b

Browse files
committed
Change supervisor to use readArgs()
1 parent 28b207b commit a26194b

File tree

2 files changed

+39
-8
lines changed

2 files changed

+39
-8
lines changed

src/main/kotlin/client/CarpoolCLIMain.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import kotlin.io.path.absolutePathString
2020
import kotlin.io.path.createDirectories
2121
import kotlin.system.exitProcess
2222

23-
val FLAGS = listOf(
23+
private val FLAGS = listOf(
2424
Flag(
2525
"log_level",
2626
"The logging level to use. If starting the supervisor, this level will be used for it as well.",
@@ -189,9 +189,9 @@ private fun spawnSupervisor(logLevel: Level, port: Int, logDir: Path) {
189189
"java",
190190
"-cp", classPath,
191191
"org.bread_experts_group.application_carpool.supervisor.CarpoolSupervisorMainKt",
192-
"$logLevel",
193-
"$port",
194-
logDir.absolutePathString()
192+
"-log_level=$logLevel",
193+
"-port=$port",
194+
"-log_dir=${logDir.absolutePathString()}"
195195
))
196196

197197
LOGGER.info { "Supervisor daemon started - PID ${supervisor.pid()}." }

src/main/kotlin/supervisor/CarpoolSupervisorMain.kt

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,53 @@
11
package org.bread_experts_group.application_carpool.supervisor
22

3-
import java.lang.Integer.parseInt
3+
import org.bread_experts_group.command_line.Flag
4+
import org.bread_experts_group.command_line.readArgs
5+
import org.bread_experts_group.command_line.stringToInt
6+
import java.nio.file.Path
47
import java.rmi.registry.LocateRegistry
58
import java.util.logging.FileHandler
69
import java.util.logging.Level
710
import java.util.logging.Logger
811
import kotlin.io.path.Path
912
import kotlin.system.exitProcess
1013

14+
private val FLAGS = listOf(
15+
Flag(
16+
"log_level",
17+
"Log level",
18+
default = Level.INFO,
19+
conv = Level::parse
20+
),
21+
Flag(
22+
"port",
23+
"Port",
24+
default = 1099,
25+
conv = stringToInt()
26+
),
27+
Flag(
28+
"log_dir",
29+
"Log directory",
30+
default = Path("./logs/"),
31+
conv = { Path(it) }
32+
)
33+
)
1134
private val LOGGER = Logger.getLogger("Application Carpool Supervisor")
1235

1336
fun main(args: Array<String>) {
37+
val args = readArgs(
38+
args,
39+
FLAGS,
40+
"Application Carpool Supervisor",
41+
"Application Carpool Supervisor process"
42+
)
1443
val pid = ProcessHandle.current().pid()
15-
val port = parseInt(args[1])
44+
val port = args.getRequired<Int>("port")
1645

1746
LOGGER.useParentHandlers = false
18-
LOGGER.addHandler(FileHandler(Path(args[2]).resolve("supervisor-log.txt").toString()))
19-
LOGGER.level = Level.parse(args[0])
47+
LOGGER.addHandler(FileHandler(
48+
args.getRequired<Path>("log_dir").resolve("supervisor-log.txt").toString()
49+
))
50+
LOGGER.level = args.getRequired<Level>("log_level")
2051
LOGGER.info { "Starting supervisor daemon -- PID $pid" }
2152

2253
var registry = LocateRegistry.getRegistry(port)

0 commit comments

Comments
 (0)