diff --git a/lcars/experiments.go b/lcars/experiments.go index 4cfee16..3c16b6f 100644 --- a/lcars/experiments.go +++ b/lcars/experiments.go @@ -3,10 +3,11 @@ package main import ( "encoding/json" "fmt" + "ld/server" "strings" ) -func readCrew() (string, error) { +func readCrew(server *server.Server) (string, error) { content, err := embedded.ReadFile("embed/crew.json") if err != nil { @@ -23,13 +24,24 @@ func readCrew() (string, error) { return "", err } + const insertStmt = "INSERT INTO crew_member ( rank, name) VALUES (?, ?) ;" + insstmt, err := server.StateDB.DB().Prepare(insertStmt) + if err != nil { + return "", err + } + defer insstmt.Close() + // Print the results for i, text := range crewNames { rank, name := splitRank(text) if rank == "" { rank = "ERROR" } - fmt.Printf("%d: rank: %s name: %s\n", i+1, rank , name) + fmt.Printf("%d: rank: %s name: %s\n", i+1, rank, name) + _, err = insstmt.Exec(rank, name) + if err != nil { + return "", err + } } // fmt.Println(string(content)) return "", nil @@ -59,21 +71,32 @@ type Message struct { Message string `json:"message"` } -func readMessages() ([]Message, error) { +func readMessages(server *server.Server) error { content, err := embedded.ReadFile("embed/messages.json") if err != nil { - return nil, err + return err } var messages []Message if err := json.Unmarshal(content, &messages); err != nil { - return nil, err + return err } + const insertStmt = "INSERT INTO ship_messages ( timestamp, subsystem, severity, color, message) VALUES (?,?,?,?,?) ;" + insstmt, err := server.StateDB.DB().Prepare(insertStmt) + if err != nil { + return err + } + defer insstmt.Close() // For demonstration, print the parsed messages for _, m := range messages { fmt.Printf("[%s] %s (%s) - %s\n", m.Timestamp, m.Subsystem, m.Severity, m.Message) + _, err = insstmt.Exec(m.Timestamp, m.Subsystem, m.Severity, m.Color, m.Message) + if err != nil { + fmt.Println(err) + return err + } } - return messages, nil + return nil } diff --git a/lcars/main.go b/lcars/main.go index 8bf7efc..9ed172d 100644 --- a/lcars/main.go +++ b/lcars/main.go @@ -40,9 +40,9 @@ func main() { os.Exit(exitCodeErr) } - readCrew() + // readCrew() - readMessages() + // readMessages() run() @@ -65,7 +65,6 @@ func run() error { log.Fatalf("Failed to create internal StateDB: %v", err) } - return nil // setting up the server server, err := server.New( logFileName, @@ -85,6 +84,11 @@ func run() error { log.Fatalf("server not started - error: %v", err) } + readCrew(server) + readMessages(server) + return nil + + // listen for os shutdown events, report them into log file and exit application chanOS := make(chan os.Signal, 2) signal.Notify(chanOS, os.Interrupt, syscall.SIGTERM) diff --git a/lcars/state.db b/lcars/state.db index 4db8e95..2ba7403 100644 Binary files a/lcars/state.db and b/lcars/state.db differ diff --git a/lcars/state.db-shm b/lcars/state.db-shm deleted file mode 100644 index 22ce83b..0000000 Binary files a/lcars/state.db-shm and /dev/null differ diff --git a/lcars/state.db-wal b/lcars/state.db-wal deleted file mode 100644 index 25c0e12..0000000 Binary files a/lcars/state.db-wal and /dev/null differ