Skip to content

Commit 57723b6

Browse files
haphananhtuantunatuhuynh27
committed
fix Keva config, add --port arguments (#124)
Co-authored-by: tuna <[email protected]> Co-authored-by: Huynh, Tu | RASIA <[email protected]>
1 parent 4ec3be1 commit 57723b6

File tree

6 files changed

+31
-28
lines changed

6 files changed

+31
-28
lines changed

config/src/main/java/com/keva/config/ConfigLoader.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public static <T> T loadConfig(String[] args, Class<T> clazz) throws IOException
1919
ArgsHolder config = ArgsParser.parse(args);
2020
T overrider = ConfigLoaderUtil.fromArgs(config, clazz);
2121

22-
String configFilePath = config.getArgVal("f");
22+
String configFilePath = config.getArgVal(new String[]{"f"});
2323
if (configFilePath != null) {
2424
returnConf = loadConfigFromFile(configFilePath, clazz);
2525
}

config/src/main/java/com/keva/config/annotation/CliProp.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
@Retention(RetentionPolicy.RUNTIME)
99
@Target(ElementType.FIELD)
1010
public @interface CliProp {
11-
String name();
11+
String[] name();
1212

1313
CliPropType type();
1414

config/src/main/java/com/keva/config/util/ArgsHolder.java

+13-9
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@ public void addFlag(String name) {
1717
}
1818

1919
@SuppressWarnings("ReturnOfNull")
20-
public String getFlag(String name) {
21-
if (values.containsKey(name)) {
22-
return "true".equalsIgnoreCase(values.get(name)) ? "true" : "false";
23-
}
24-
if (flags.contains(name)) {
25-
return "true";
20+
public String getFlag(String[] names) {
21+
for (String name : names) {
22+
if (values.containsKey(name)) {
23+
return "true".equalsIgnoreCase(values.get(name)) ? "true" : "false";
24+
}
25+
if (flags.contains(name)) {
26+
return "true";
27+
}
2628
}
2729
return null;
2830
}
@@ -32,9 +34,11 @@ public void addArgVal(String name, String value) {
3234
}
3335

3436
@SuppressWarnings("ReturnOfNull")
35-
public String getArgVal(String name) {
36-
if (values.containsKey(name)) {
37-
return values.get(name);
37+
public String getArgVal(String[] names) {
38+
for (String name : names) {
39+
if (values.containsKey(name)) {
40+
return values.get(name);
41+
}
3842
}
3943
return null;
4044
}

config/src/test/java/com/keva/config/ArgsParserTest.java

+11-11
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,31 @@ void parse() {
1515
"--p", "123123", "--a", "--b"
1616
};
1717
ArgsHolder parse = ArgsParser.parse(args);
18-
assertEquals("true", parse.getFlag("a"));
19-
assertEquals("true", parse.getFlag("b"));
20-
assertEquals("123123", parse.getArgVal("p"));
18+
assertEquals("true", parse.getFlag(new String[]{"a"}));
19+
assertEquals("true", parse.getFlag(new String[]{"b"}));
20+
assertEquals("123123", parse.getArgVal(new String[]{"p"}));
2121

2222
args = new String[]{
2323
"--a", "--b", "false"
2424
};
2525
parse = ArgsParser.parse(args);
26-
assertEquals("true", parse.getFlag("a"));
27-
assertEquals("false", parse.getArgVal("b"));
26+
assertEquals("true", parse.getFlag(new String[]{"a"}));
27+
assertEquals("false", parse.getArgVal(new String[]{"b"}));
2828

2929
args = new String[]{
3030
"--a", "--b", "false"
3131
};
3232
parse = ArgsParser.parse(args);
33-
assertEquals("true", parse.getFlag("a"));
34-
assertEquals("false", parse.getFlag("b"));
33+
assertEquals("true", parse.getFlag(new String[]{"a"}));
34+
assertEquals("false", parse.getFlag(new String[]{"b"}));
3535

3636
args = new String[]{
3737
"--a", "aa", "--b", "notTrue"
3838
};
3939
parse = ArgsParser.parse(args);
40-
assertEquals("aa", parse.getArgVal("a"));
41-
assertEquals("false", parse.getFlag("b"));
42-
assertNull(parse.getFlag("c"));
43-
assertNull(parse.getArgVal("c"));
40+
assertEquals("aa", parse.getArgVal(new String[]{"a"}));
41+
assertEquals("false", parse.getFlag(new String[]{"b"}));
42+
assertNull(parse.getFlag(new String[]{"c"}));
43+
assertNull(parse.getArgVal(new String[]{"c"}));
4444
}
4545
}

core/src/main/java/dev/keva/core/config/KevaConfig.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@
1616
@AllArgsConstructor
1717
@Configuration
1818
public class KevaConfig {
19-
@ConfigProp(name = "host", defaultVal = "localhost")
20-
@CliProp(name = "host", type = CliPropType.VAL)
19+
@ConfigProp(name = "hostname", defaultVal = "localhost")
20+
@CliProp(name = {"h", "host"}, type = CliPropType.VAL)
2121
private String hostname;
2222

2323
@ConfigProp(name = "port", defaultVal = "6379")
24-
@CliProp(name = "port", type = CliPropType.VAL)
24+
@CliProp(name = {"p", "port"}, type = CliPropType.VAL)
2525
private Integer port;
2626

2727
@ConfigProp(name = "save", defaultVal = "true")
28-
@CliProp(name = "save", type = CliPropType.FLAG)
28+
@CliProp(name = {"save", "s"}, type = CliPropType.FLAG)
2929
private Boolean persistence;
3030

3131
@ConfigProp(name = "appendonly", defaultVal = "false")
@@ -57,7 +57,6 @@ public static KevaConfig ofDefaults() {
5757
.persistence(true)
5858
.aof(false)
5959
.aofInterval(1000)
60-
.ioThreads(-1)
6160
.build();
6261
}
6362
}

docs/src/guide/overview/install.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Parameters:
2424

2525
Option Description
2626
------ -----------
27-
--port <Integer> Accept connections on the specified port (default: 6379)
27+
--p, --port <Integer> Accept connections on the specified port (default: 6379)
2828
--save <Boolean> Enable save the DB to disk (default: true)
2929
--appendonly <Boolean> Enable append-only-file (default: false)
3030
--appendfsync <Integer> Define append-only fsync in ms (default: 1000)

0 commit comments

Comments
 (0)