Skip to content

Commit 734c32f

Browse files
committed
yeet
1 parent fbdbde5 commit 734c32f

18 files changed

Lines changed: 473 additions & 236 deletions

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
<version>1.5.6</version>
9292
</dependency>
9393

94+
9495
</dependencies>
9596

9697
</project>

src/main/java/simplexity/Main.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,22 @@
99
import simplexity.commands.ExitCommand;
1010
import simplexity.commands.HelpCommand;
1111
import simplexity.commands.ReloadCommand;
12-
import simplexity.config.TTSConfig;
12+
import simplexity.config.AbstractConfig;
13+
import simplexity.config.config.AwsConfig;
14+
import simplexity.config.config.ReplaceTextConfig;
15+
import simplexity.config.config.TTSConfig;
1316
import simplexity.httpserver.LocalServer;
1417
import simplexity.setup.PollySetup;
18+
import simplexity.util.ColorTags;
1519
import simplexity.util.Util;
1620

21+
import java.util.ArrayList;
1722
import java.util.Scanner;
1823

1924
public class Main {
2025
private static final Logger logger = LoggerFactory.getLogger(Main.class);
2126
private static CommandManager commandManager;
27+
private static ArrayList<AbstractConfig> configs = new ArrayList<>();
2228
public static PollyHandler pollyHandler;
2329
private static SpeechHandler speechHandler;
2430
public static Scanner scanner;
@@ -29,9 +35,10 @@ public static void main(String[] args) {
2935
scanner = new Scanner(System.in);
3036
commandManager = new CommandManager();
3137
registerCommands(commandManager);
32-
TTSConfig.getInstance().reloadConfig();
38+
setupConfigs();
3339
PollySetup.setupPollyAndSpeech();
3440
LocalServer.run();
41+
System.out.println(ColorTags.parse("<red>TEST</red> <bold> THIS IS A TEST</bold>"));
3542
while (runApp) {
3643
String input = scanner.nextLine();
3744
if (!commandManager.runCommand(input)) {
@@ -46,6 +53,15 @@ private static void registerCommands(CommandManager commandManager) {
4653
commandManager.registerCommand(new ReloadCommand("--reload", "Reloads the configuration"));
4754
}
4855

56+
private static void setupConfigs(){
57+
AwsConfig awsConfig = new AwsConfig();
58+
configs.add(awsConfig);
59+
TTSConfig ttsConfig = new TTSConfig();
60+
configs.add(ttsConfig);
61+
ReplaceTextConfig replaceTextConfig = new ReplaceTextConfig();
62+
configs.add(replaceTextConfig);
63+
}
64+
4965
public static CommandManager getCommandManager() {
5066
return commandManager;
5167
}

src/main/java/simplexity/amazon/SpeechHandler.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
import org.slf4j.LoggerFactory;
1212
import org.slf4j.event.Level;
1313
import simplexity.Main;
14-
import simplexity.config.TTSConfig;
14+
import simplexity.config.config.AwsConfig;
15+
import simplexity.config.config.ReplaceTextConfig;
16+
import simplexity.config.config.TTSConfig;
1517
import simplexity.messages.Errors;
1618
import simplexity.util.Util;
1719

@@ -22,7 +24,7 @@ public class SpeechHandler {
2224
private VoiceId voiceId;
2325

2426
public SpeechHandler() {
25-
this.voiceId = TTSConfig.getInstance().getDefaultVoice();
27+
this.voiceId = AwsConfig.getInstance().getDefaultVoice();
2628
Util.log(logger, "Initialized SpeechHandler with default voice: " + voiceId.toString(), Level.INFO);
2729
}
2830

@@ -57,13 +59,13 @@ public void processSpeech(String text) {
5759

5860
public String replaceText(String text) {
5961
TTSConfig ttsConfig = TTSConfig.getInstance();
60-
for (String key : ttsConfig.getReplaceText().keySet()) {
61-
text = text.replace(key, ttsConfig.getReplaceText().get(key));
62+
for (String key : ReplaceTextConfig.getInstance().getReplaceText().keySet()) {
63+
text = text.replace(key, ReplaceTextConfig.getInstance().getReplaceText().get(key));
6264
}
63-
for (String key : ttsConfig.getVoicePrefixes().keySet()) {
65+
for (String key : AwsConfig.getInstance().getVoicePrefixes().keySet()) {
6466
if (text.startsWith(key)) {
6567
text = text.replace(key, "");
66-
voiceId = ttsConfig.getVoicePrefixes().get(key);
68+
voiceId = AwsConfig.getInstance().getVoicePrefixes().get(key);
6769
}
6870
}
6971
return text;

src/main/java/simplexity/commands/ReloadCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package simplexity.commands;
22

33
import org.slf4j.event.Level;
4-
import simplexity.config.TTSConfig;
4+
import simplexity.config.config.TTSConfig;
55
import simplexity.httpserver.LocalServer;
66
import simplexity.messages.Output;
77
import simplexity.util.Util;
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package simplexity.config;
2+
3+
import com.typesafe.config.Config;
4+
import com.typesafe.config.ConfigFactory;
5+
import org.slf4j.Logger;
6+
import org.slf4j.LoggerFactory;
7+
import org.slf4j.event.Level;
8+
import simplexity.util.Util;
9+
10+
import java.io.File;
11+
12+
public abstract class AbstractConfig {
13+
private static final Logger logger = LoggerFactory.getLogger(AbstractConfig.class);
14+
protected Config config;
15+
16+
public AbstractConfig(String configPath, String folderPath) {
17+
loadConfig(configPath, folderPath);
18+
reloadConfig();
19+
}
20+
21+
private void loadConfig(String configPath, String folderPath) {
22+
Util.log(logger, "Loading configuration from directory: " + folderPath + ", file:" + configPath, Level.INFO);
23+
File folder = checkForOrCreateFolder(folderPath);
24+
if (folder == null) {
25+
Util.logAndPrint(logger, "Unable to continue loading: " + configPath, Level.WARN);
26+
}
27+
File configFile = new File(folder, configPath);
28+
if (!configFile.exists()) {
29+
Util.log(logger, "Config file does not exist: " + configPath, Level.INFO);
30+
createDefaultConfig(configFile);
31+
}
32+
this.config = ConfigFactory.parseFile(configFile).resolve();
33+
Util.log(logger, "Loaded configuration from: " + configPath, Level.INFO);
34+
}
35+
36+
private File checkForOrCreateFolder(String folderPath) {
37+
File directory = new File(folderPath);
38+
if (!directory.exists()) {
39+
if (!directory.mkdirs()) {
40+
Util.logAndPrint(logger, "Failed to create directory: " + folderPath, Level.WARN);
41+
return null;
42+
} else {
43+
Util.log(logger, "Successfully created directory: " + folderPath, Level.INFO);
44+
}
45+
}
46+
return directory;
47+
}
48+
49+
public abstract void createDefaultConfig(File configFile);
50+
51+
public abstract void reloadConfig();
52+
53+
public Config getConfig() {
54+
return config;
55+
}
56+
}

src/main/java/simplexity/config/SimplexityFileHandler.java

Lines changed: 0 additions & 53 deletions
This file was deleted.

0 commit comments

Comments
 (0)