You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by if...@apache.org on 2021/03/25 03:26:21 UTC
[incubator-nlpcraft] 11/29: NLPCRAFT-91: Settings support for mod
and cleanup data files
This is an automated email from the ASF dual-hosted git repository.
ifropc pushed a commit to branch NLPCRAFT-91
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
commit d14908ef2d1f82e550f54fcc6b805284eeb24790
Author: Ifropc <if...@apache.org>
AuthorDate: Sun Dec 27 18:12:06 2020 -0800
NLPCRAFT-91: Settings support for mod and cleanup data files
---
.../org/apache/nplcraft/example/ExampleMod.java | 56 +++++++++-------------
nlpcraft-examples/minecraft-model/README.md | 2 +-
.../src/main/resources/nlpcraft-credentials.json | 4 --
.../src/main/resources/nlpcraft-settings.json | 6 +++
4 files changed, 30 insertions(+), 38 deletions(-)
diff --git a/nlpcraft-examples/minecraft-mod/src/main/java/org/apache/nplcraft/example/ExampleMod.java b/nlpcraft-examples/minecraft-mod/src/main/java/org/apache/nplcraft/example/ExampleMod.java
index 02628e3..577e890 100644
--- a/nlpcraft-examples/minecraft-mod/src/main/java/org/apache/nplcraft/example/ExampleMod.java
+++ b/nlpcraft-examples/minecraft-mod/src/main/java/org/apache/nplcraft/example/ExampleMod.java
@@ -23,6 +23,7 @@ import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.file.Files;
+import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Optional;
@@ -42,6 +43,7 @@ public class ExampleMod {
private static final String MODEL_ID = "nlpcraft.minecraft.ex";
private final Gson gson = new Gson();
private NCSignIn creds;
+ private String baseUrl;
private MinecraftServer server;
private Optional<String> token = Optional.empty();
private boolean inRecursion = false;
@@ -89,7 +91,7 @@ public class ExampleMod {
private Optional<String> getToken() {
if (!token.isPresent()) {
- obtainCreds();
+ loadSettings();
token = post("signin", gson.toJson(creds), NCSignResponse.class).map(x -> x.acsTok);
}
@@ -99,7 +101,7 @@ public class ExampleMod {
private <T> Optional<T> post(String url, String postJson, Class<T> clazz) {
try {
- String str = "http://0.0.0.0:8081/api/v1/" + url;
+ String str = baseUrl + url;
HttpURLConnection http = (HttpURLConnection) new URL(str).openConnection();
http.setRequestMethod("POST"); // PUT is another valid option
@@ -127,52 +129,43 @@ public class ExampleMod {
return Optional.empty();
}
- private void obtainCreds() {
+ private void loadSettings() {
creds = new NCSignIn();
creds.email = "admin@admin.com";
creds.passwd = "admin";
+ String host = "0.0.0.0";
+ String port = "8081";
Path configDir = Paths.get("config");
- Path jsonPath = FileUtil.resolveResourcePath(configDir, "nlpcraft-credentials", ".json");
+ Path jsonPath = FileUtil.resolveResourcePath(configDir, "nlpcraft-settings", ".json");
try {
Reader reader = Files.newBufferedReader(jsonPath);
- creds = gson.fromJson(reader, NCSignIn.class);
- } catch (FileNotFoundException e) {
+ NCSettings settings = gson.fromJson(reader, NCSettings.class);
+ creds.email = settings.email;
+ creds.passwd = settings.passwd;
+ host = settings.host;
+ port = settings.port;
+ } catch (NoSuchFileException e) {
LOGGER.info("Credentials were not found");
} catch (IOException e) {
LOGGER.error(e);
}
+
+ baseUrl = "http://" + host + ":" + port + "/api/v1/";
}
private class AskParams {
private final String mdlId = MODEL_ID;
private String acsTok;
private String txt;
-
- @Override
- public String toString() {
- return "AskParams{" +
- "acsTok='" + acsTok + '\'' +
- ", mdlId='" + mdlId + '\'' +
- ", txt='" + txt + '\'' +
- '}';
- }
}
private class NCResponse {
private String status;
private NCState state;
-
- @Override
- public String toString() {
- return "NCResponse{" +
- "status='" + status + '\'' +
- ", state=" + state +
- '}';
- }
}
private class NCState {
@@ -180,16 +173,6 @@ public class ExampleMod {
private String error;
private String status;
private String resBody;
-
- @Override
- public String toString() {
- return "NCState{" +
- "errorCode=" + errorCode +
- ", error='" + error + '\'' +
- ", status='" + status + '\'' +
- ", resBody='" + resBody + '\'' +
- '}';
- }
}
private class NCSignIn {
@@ -200,4 +183,11 @@ public class ExampleMod {
private class NCSignResponse {
private String acsTok;
}
+
+ private class NCSettings {
+ private String email;
+ private String passwd;
+ private String host;
+ private String port;
+ }
}
diff --git a/nlpcraft-examples/minecraft-model/README.md b/nlpcraft-examples/minecraft-model/README.md
index 1fd3605..6b504e3 100644
--- a/nlpcraft-examples/minecraft-model/README.md
+++ b/nlpcraft-examples/minecraft-model/README.md
@@ -35,7 +35,7 @@ Start server normally. For running probe it's required to use dedicated configur
1. Download [Forge server installer](https://files.minecraftforge.net/) and follow instructions
1. Build mod (`cd ../minecraft-mod && ./gradlew clean build`)
1. Copy mod to mods folder of your forge server folder (`cp build/libs/nlpcraft-mod-*.jar <forge-server-location>/mods`)
-1. (Optional) if non-default credentials are used, put them in `main/resources/nlpcraft-credentials.json` and copy file to `<forge-server-location>/config`
+1. (Optional) If non-default settings are used, put them in `main/resources/nlpcraft-settings.json` and copy file to `<forge-server-location>/config`
1. Start server (`java -jar forge.jar`). For detailed instructions refer to [wiki](https://minecraft.gamepedia.com/Tutorials/Setting_up_a_server)
1. Connect to the server from client and play!
diff --git a/nlpcraft-examples/minecraft-model/src/main/resources/nlpcraft-credentials.json b/nlpcraft-examples/minecraft-model/src/main/resources/nlpcraft-credentials.json
deleted file mode 100644
index cb7ceef..0000000
--- a/nlpcraft-examples/minecraft-model/src/main/resources/nlpcraft-credentials.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "email": "admin@admin.com",
- "passwd": "admin"
-}
\ No newline at end of file
diff --git a/nlpcraft-examples/minecraft-model/src/main/resources/nlpcraft-settings.json b/nlpcraft-examples/minecraft-model/src/main/resources/nlpcraft-settings.json
new file mode 100644
index 0000000..e1a4eae
--- /dev/null
+++ b/nlpcraft-examples/minecraft-model/src/main/resources/nlpcraft-settings.json
@@ -0,0 +1,6 @@
+{
+ "email": "admin@admin.com",
+ "passwd": "admin",
+ "host": "0.0.0.0",
+ "port": 8081
+}
\ No newline at end of file