This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch master_test
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/master_test by this push:
new a5d2b56 WIP.
a5d2b56 is described below
commit a5d2b560d5d5ffeb9f67e1a6f8a26b59aac9aa6b
Author: Sergey Kamov <[email protected]>
AuthorDate: Fri Dec 10 17:32:53 2021 +0300
WIP.
---
.../entity/opennlp/NCOpenNlpEntityParser.scala | 2 +-
.../enrichers/entity/user/NCElementBuilder.java | 1 -
.../entity/user/NCFileUserEntityParser.scala | 5 +---
.../enrichers/entity/user/NCMacro.java} | 31 +++++++++++++---------
.../enrichers/entity/user/NCUserEntityParser.scala | 2 +-
.../impl/enrichers/entity/user/NCValue.java | 2 +-
.../nlpcraft/impl/tokenizers/NCEnTokenParser.scala | 2 +-
.../NCExternalConfigManager.java | 2 +-
.../nlpcraft/alarm/LightSwitchModelTest.java | 28 +++++++++----------
9 files changed, 36 insertions(+), 39 deletions(-)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/opennlp/NCOpenNlpEntityParser.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/opennlp/NCOpenNlpEntityParser.scala
index 4edc0b3..73ab6cf 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/opennlp/NCOpenNlpEntityParser.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/opennlp/NCOpenNlpEntityParser.scala
@@ -18,7 +18,7 @@ package org.apache.nlpcraft.impl.enrichers.entity.opennlp
import org.apache.nlpcraft.{NCEntity, NCEntityParser, NCModelConfig,
NCRequest, NCToken}
-import org.apache.nlpcraft.internal.external.NCExternalConfigManager
+import org.apache.nlpcraft.internal.extcfg.NCExternalConfigManager
import java.util
class NCOpenNlpEntityParse(models: util.List[NCOpenNlpModel], extCfgMgr:
NCExternalConfigManager) extends NCEntityParser {
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCElementBuilder.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCElementBuilder.java
index 2ef8793..5ceb36a 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCElementBuilder.java
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCElementBuilder.java
@@ -49,7 +49,6 @@ public class NCElementBuilder {
return this;
}
-
public NCElement make() {
return null;
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCFileUserEntityParser.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCFileUserEntityParser.scala
index 938c9f7..f091823 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCFileUserEntityParser.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCFileUserEntityParser.scala
@@ -21,12 +21,9 @@ import org.apache.nlpcraft.*
import java.io.File
import java.util
-// File with 3 sections: Look at NCUserEntityParser
-// Element ID / Map element properties (parent, group, etc)
-// Macros ID / Macros body.
-// Element ID / Synonyms list, based on words and macros.
class NCFileUserEntityParser(
file: File,
+ // Element ID / Values loader.
loaders: util.Map[String, NCValueLoader]
) extends NCEntityParser {
def this (file: File) = this (file, null)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/external/NCExternalConfigManager.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCMacro.java
similarity index 60%
copy from
nlpcraft/src/main/scala/org/apache/nlpcraft/internal/external/NCExternalConfigManager.java
copy to
nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCMacro.java
index 2be8e28..945bec3 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/external/NCExternalConfigManager.java
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCMacro.java
@@ -6,7 +6,7 @@
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,22 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.nlpcraft.internal.external;
-import java.io.File;
+package org.apache.nlpcraft.impl.enrichers.entity.user;
-public class NCExternalConfigManager {
- private final String url;
- private final boolean checkMd5;
- private final File localDir;
+import java.io.Serializable;
+import java.util.List;
- public NCExternalConfigManager(String url, boolean checkMd5, File
localDir) {
- this.url = url;
- this.checkMd5 = checkMd5;
- this.localDir = localDir;
+// TODO: Do we nneed it? maybe map is better?
+public class NCMacro {
+ private final String id;
+ private final String macro;
+
+ public NCMacro(String id, String macro) {
+ this.id = id;
+ this.macro = macro;
}
- public void start() {
+ public String getId() {
+ return id;
+ }
+ public String getMacro() {
+ return macro;
}
-}
+}
\ No newline at end of file
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCUserEntityParser.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCUserEntityParser.scala
index fdc6643..542b89d 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCUserEntityParser.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCUserEntityParser.scala
@@ -21,7 +21,7 @@ import org.apache.nlpcraft.*
import java.util
class NCUserEntityParser(
- macros: util.Map[String, String],
+ macros: util.List[NCMacro],
elements: util.List[NCElement]
) extends NCEntityParser {
override def parse(req: NCRequest, cfg: NCModelConfig, toks:
util.List[NCToken]): util.List[NCEntity] = ???
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCValue.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCValue.java
index 4e27836..e55d4e9 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCValue.java
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/enrichers/entity/user/NCValue.java
@@ -31,7 +31,7 @@ import java.util.List;
*
* @see NCElement#getValues()
*/
-public interface NCValue extends Serializable {
+public interface NCValue {
/**
* Gets value name.
*
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/tokenizers/NCEnTokenParser.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/tokenizers/NCEnTokenParser.scala
index e5722c4..acadbf6 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/tokenizers/NCEnTokenParser.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/impl/tokenizers/NCEnTokenParser.scala
@@ -16,7 +16,7 @@
*/
package org.apache.nlpcraft.impl.tokenizers
-import org.apache.nlpcraft.internal.external.NCExternalConfigManager
+import org.apache.nlpcraft.internal.extcfg.NCExternalConfigManager
import org.apache.nlpcraft.{NCRequest, NCToken, NCTokenParser}
import java.io.File
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/external/NCExternalConfigManager.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/extcfg/NCExternalConfigManager.java
similarity index 96%
rename from
nlpcraft/src/main/scala/org/apache/nlpcraft/internal/external/NCExternalConfigManager.java
rename to
nlpcraft/src/main/scala/org/apache/nlpcraft/internal/extcfg/NCExternalConfigManager.java
index 2be8e28..930fad3 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/external/NCExternalConfigManager.java
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/extcfg/NCExternalConfigManager.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.nlpcraft.internal.external;
+package org.apache.nlpcraft.internal.extcfg;
import java.io.File;
diff --git
a/nlpcraft/src/test/java/org/apache/nlpcraft/alarm/LightSwitchModelTest.java
b/nlpcraft/src/test/java/org/apache/nlpcraft/alarm/LightSwitchModelTest.java
index 3ab9392..c99d5ab 100644
--- a/nlpcraft/src/test/java/org/apache/nlpcraft/alarm/LightSwitchModelTest.java
+++ b/nlpcraft/src/test/java/org/apache/nlpcraft/alarm/LightSwitchModelTest.java
@@ -21,22 +21,18 @@ import org.apache.nlpcraft.NCModelClient;
import org.apache.nlpcraft.NCModelConfigAdapter;
import org.apache.nlpcraft.impl.enrichers.entity.user.NCElement;
import org.apache.nlpcraft.impl.enrichers.entity.user.NCElementBuilder;
+import org.apache.nlpcraft.impl.enrichers.entity.user.NCMacro;
import org.apache.nlpcraft.impl.enrichers.entity.user.NCUserEntityParser;
import org.apache.nlpcraft.impl.tokenizers.NCEnTokenParser;
-import org.apache.nlpcraft.internal.external.NCExternalConfigManager;
+import org.apache.nlpcraft.internal.extcfg.NCExternalConfigManager;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import org.apache.nlpcraft.NCEntityParser;
-
-
-import static java.util.Arrays.asList;
import java.io.File;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
+
+import static java.util.Arrays.asList;
public class LightSwitchModelTest {
@Test
@@ -47,14 +43,14 @@ public class LightSwitchModelTest {
}
private static NCModelConfigAdapter mkConfigManual() {
- Map<String, String> macros = new HashMap<>() {{
- put("<ACTION>", "{turn|switch|dial|let|set|get|put}");
- put("<KILL>", "{shut|kill|stop|eliminate}");
- put("<ENTIRE_OPT>", "{entire|full|whole|total|_}");
- put("<FLOOR_OPT>",
"{upstairs|downstairs|{1st|first|2nd|second|3rd|third|4th|fourth|5th|fifth|top|ground}
floor|_}");
- put("<TYPE>", "{room|closet|attic|loft|{store|storage} {room|_}}");
- put("<LIGHT>", "{all|_}
{it|them|light|illumination|lamp|lamplight}");
- }};
+ List<NCMacro> macros = List.of(
+ new NCMacro("<ACTION>", "{turn|switch|dial|let|set|get|put}"),
+ new NCMacro("<KILL>", "{shut|kill|stop|eliminate}"),
+ new NCMacro("<ENTIRE_OPT>", "{entire|full|whole|total|_}"),
+ new NCMacro("<FLOOR_OPT>",
"{upstairs|downstairs|{1st|first|2nd|second|3rd|third|4th|fourth|5th|fifth|top|ground}
floor|_}"),
+ new NCMacro("<TYPE>", "{room|closet|attic|loft|{store|storage}
{room|_}}"),
+ new NCMacro("<LIGHT>", "{all|_}
{it|them|light|illumination|lamp|lamplight}")
+ );
List<NCElement> elements =
List.of(