Skip to content

Commit 553c212

Browse files
committed
getOptionalInt for configs & allow custom ports for json api
1 parent 4d838cf commit 553c212

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

wayang-api/wayang-api-json/src/main/scala/Main.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,8 @@ object Main extends ZIOAppDefault {
7070
val app = Routes(drawRoute, jsonRoute).toHttpApp
7171

7272
// Run it like any simple app
73-
override val run = Server.serve(app).provide(Server.default)
73+
def run = for {
74+
args <- getArgs
75+
_ <- Server.serve(app).provide(Server.defaultWithPort((args.headOption getOrElse "8080" toInt)))
76+
} yield ()
7477
}

wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
import java.util.Map;
7676
import java.util.Optional;
7777
import java.util.OptionalDouble;
78+
import java.util.OptionalInt;
7879
import java.util.OptionalLong;
7980
import java.util.Properties;
8081
import java.util.Random;
@@ -778,6 +779,20 @@ public long getLongProperty(String key) {
778779
return optionalLongProperty.getAsLong();
779780
}
780781

782+
783+
public OptionalInt getOptionalIntProperty(String key) {
784+
final Optional<String> intValue = this.properties.optionallyProvideFor(key);
785+
if (intValue.isPresent()) {
786+
return OptionalInt.of(Integer.valueOf(intValue.get()));
787+
} else {
788+
return OptionalInt.empty();
789+
}
790+
}
791+
792+
public int getIntProperty(String key) {
793+
return getOptionalIntProperty(key).orElseThrow(() -> new WayangException(String.format("No value for \"%s\".", key)));
794+
}
795+
781796
public long getLongProperty(String key, long fallback) {
782797
return this.getOptionalLongProperty(key).orElse(fallback);
783798
}

0 commit comments

Comments
 (0)