This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch master-model
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/master-model by this push:
new 7b4d1e3 WIP.
7b4d1e3 is described below
commit 7b4d1e3f8cd6358221714689d141da2894646a11
Author: Sergey Kamov <[email protected]>
AuthorDate: Thu Oct 7 21:36:27 2021 +0300
WIP.
---
.../nlpcraft/model/builders/NCElementBuilder.java | 2 +-
.../model/providers/NCElementsBuilder.java | 28 ++++++++
.../model/providers/NCElementsProvider.java | 62 ----------------
.../nlpcraft/model/providers/NCIntentsBuilder.java | 29 ++++++++
.../nlpcraft/model/providers/NCIntentsData.java | 9 +++
.../model/providers/NCIntentsProvider.java | 84 ----------------------
.../java/org/apache/nlpcraft/model/NCSpec.java | 28 ++++----
7 files changed, 81 insertions(+), 161 deletions(-)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/builders/NCElementBuilder.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/builders/NCElementBuilder.java
index c5f43bd..b39d774 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/builders/NCElementBuilder.java
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/builders/NCElementBuilder.java
@@ -14,7 +14,7 @@ public class NCElementBuilder {
public NCElementBuilder withParentId(String id) {
return null;
}
- public NCElementBuilder withGroups(List<String> groups) {
+ public NCElementBuilder withGroups(String... groups) {
return null;
}
public NCElementBuilder withMetadata(Map<String, Object> meta) {
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCElementsBuilder.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCElementsBuilder.java
new file mode 100644
index 0000000..79486a1
--- /dev/null
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCElementsBuilder.java
@@ -0,0 +1,28 @@
+package org.apache.nlpcraft.model.providers;
+
+import org.apache.nlpcraft.model.NCElement;
+import org.apache.nlpcraft.model.NCValueLoader;
+
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+import java.io.File;
+
+public class NCElementsBuilder {
+ public NCElementsBuilder withLoaders(Map<String, NCValueLoader> loaders) {
+ return null;
+ }
+ public NCElementsBuilder withFiles(File... files) {
+ return null;
+ }
+ public NCElementsBuilder withUrls(URL... url) {
+ return null;
+ }
+ public NCElementsBuilder withClasses(Class<?>... classes) {
+ return null;
+ }
+
+ public List<NCElement> getElements() {
+ return null;
+ }
+}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCElementsProvider.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCElementsProvider.java
deleted file mode 100644
index 5f902a5..0000000
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCElementsProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.apache.nlpcraft.model.providers;
-
-import org.apache.nlpcraft.model.NCElement;
-import org.apache.nlpcraft.model.NCValueLoader;
-
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-import java.io.File;
-
-public class NCElementsProvider {
- private Map<String, NCValueLoader> loaders;
- private List<File> files;
- private List<URL> urls;
- private List<Class<?>> classes;
- private List<NCElement> elements;
-
- public Map<String, NCValueLoader> getLoaders() {
- return loaders;
- }
-
- public void setLoaders(Map<String, NCValueLoader> loaders) {
- this.loaders = loaders;
- }
-
- public List<File> getFiles() {
- return files;
- }
-
- public void setFiles(List<File> files) {
- this.files = files;
- }
-
- public List<Class<?>> getClasses() {
- return classes;
- }
-
- public void setClasses(List<Class<?>> classes) {
- this.classes = classes;
- }
-
- public List<URL> getUrls() {
- return urls;
- }
-
- public void setUrls(List<URL> urls) {
- this.urls = urls;
- }
-
- public List<NCElement> getElements() {
- return elements;
- }
-
- public void setElements(List<NCElement> elements) {
- this.elements = elements;
- }
-
- public List<NCElement> getProviderElements() {
- // TODO: implement.
- return null;
- }
-}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsBuilder.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsBuilder.java
new file mode 100644
index 0000000..9934c05
--- /dev/null
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsBuilder.java
@@ -0,0 +1,29 @@
+package org.apache.nlpcraft.model.providers;
+
+import java.io.File;
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+
+public class NCIntentsBuilder {
+ public NCIntentsBuilder withIntentsFiles(File... files) {
+ return null;
+ }
+ public NCIntentsBuilder withIntentsUrls(URL... urls) {
+ return null;
+ }
+ public NCIntentsBuilder withSamplesFiles(Map<String, File> files) {
+ return null;
+ }
+ public NCIntentsBuilder withSamplesUrls(Map<String, File> urls) {
+ return null;
+ }
+ public NCIntentsBuilder withClasses(Class<?> ... classes) {
+ return null;
+ }
+
+ public NCIntentsData getNCIntentsData() {
+ // TODO: implement.
+ return null;
+ }
+}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsData.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsData.java
new file mode 100644
index 0000000..7a7ca72
--- /dev/null
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsData.java
@@ -0,0 +1,9 @@
+package org.apache.nlpcraft.model.providers;
+
+import java.util.List;
+import java.util.Map;
+
+public interface NCIntentsData {
+ List<String> getIntentsDls();
+ public Map<String, List<List<String>>> getSamples();
+}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsProvider.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsProvider.java
deleted file mode 100644
index d220f8e..0000000
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/providers/NCIntentsProvider.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.nlpcraft.model.providers;
-
-import java.io.File;
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-
-public class NCIntentsProvider {
- private List<File> intentsFiles;
- private List<URL> intentsUrls;
- private List<String> intents;
- // Intent ID - samples
- private Map<String, File> samplesFiles;
- private Map<String, URL> samplesUrls;
- private Map<String, List<List<String>>> samples;
-
- private List<Class<?>> classes;
-
- public List<File> getIntentsFiles() {
- return intentsFiles;
- }
-
- public void setIntentsFiles(List<File> intentsFiles) {
- this.intentsFiles = intentsFiles;
- }
-
- public Map<String, File> getSamplesFiles() {
- return samplesFiles;
- }
-
- public void setSamplesFiles(Map<String, File> samplesFiles) {
- this.samplesFiles = samplesFiles;
- }
-
- public List<Class<?>> getClasses() {
- return classes;
- }
-
- public void setClasses(List<Class<?>> classes) {
- this.classes = classes;
- }
-
- public List<URL> getIntentsUrls() {
- return intentsUrls;
- }
-
- public void setIntentsUrls(List<URL> intentsUrls) {
- this.intentsUrls = intentsUrls;
- }
-
- public Map<String, URL> getSamplesUrls() {
- return samplesUrls;
- }
-
- public void setSamplesUrls(Map<String, URL> samplesUrls) {
- this.samplesUrls = samplesUrls;
- }
-
- public List<String> getIntents() {
- return intents;
- }
-
- public void setIntents(List<String> intents) {
- this.intents = intents;
- }
-
- public Map<String, List<List<String>>> getSamples() {
- return samples;
- }
-
- public void setSamples(Map<String, List<List<String>>> samples) {
- this.samples = samples;
- }
-
- public List<String> getProviderIntentsDls() {
- // TODO: implement.
- return null;
- }
-
- public Map<String, List<List<String>>> getProviderIntentsSamples() {
- // TODO: implement.
- return null;
- }
-}
diff --git a/nlpcraft/src/test/java/org/apache/nlpcraft/model/NCSpec.java
b/nlpcraft/src/test/java/org/apache/nlpcraft/model/NCSpec.java
index 8bcb82a..282398f 100644
--- a/nlpcraft/src/test/java/org/apache/nlpcraft/model/NCSpec.java
+++ b/nlpcraft/src/test/java/org/apache/nlpcraft/model/NCSpec.java
@@ -4,8 +4,9 @@ import org.apache.nlpcraft.model.annotations.NCIntentRef;
import org.apache.nlpcraft.model.builders.NCElementBuilder;
import org.apache.nlpcraft.model.builders.NCModelConfigBuilder;
import org.apache.nlpcraft.model.builders.NCModelBuilder;
-import org.apache.nlpcraft.model.providers.NCElementsProvider;
-import org.apache.nlpcraft.model.providers.NCIntentsProvider;
+import org.apache.nlpcraft.model.providers.NCElementsBuilder;
+import org.apache.nlpcraft.model.providers.NCIntentsBuilder;
+import org.apache.nlpcraft.model.providers.NCIntentsData;
import org.junit.jupiter.api.Test;
import java.util.Collections;
@@ -36,17 +37,15 @@ public class NCSpec {
}
);
- NCElementsProvider elemsProvider = new NCElementsProvider();
+ NCElementsBuilder elemsProvider =
+ new NCElementsBuilder().
+ withFiles(new java.io.File("path.yaml")).
+ withLoaders(loaders);
- elemsProvider.setFiles(asList(new java.io.File("path.yaml")));
- elemsProvider.setLoaders(loaders);
-
- List<NCElement> elements = elemsProvider.getProviderElements();
+ List<NCElement> elements = elemsProvider.getElements();
elements.add(new
NCElementBuilder().withId("additionalElementId").make());
- NCIntentsProvider intentsProvider = new NCIntentsProvider();
-
class SomeClassWithIntents {
@NCIntentRef("remove:waypoint")
public void x() {
@@ -54,17 +53,18 @@ public class NCSpec {
}
}
- intentsProvider.setClasses(asList(SomeClassWithIntents.class));
-
- List<String> intents = intentsProvider.getProviderIntentsDls();
+ NCIntentsData intentsData =
+ new NCIntentsBuilder().
+ withClasses(SomeClassWithIntents.class).
+ getNCIntentsData();
return
new NCModelConfigBuilder().
withDescription("test model").
withElements(elements).
- withIntentsDsl(intentsProvider.getProviderIntentsDls()).
-
withIntentsDslSamples(intentsProvider.getProviderIntentsSamples()).
+ withIntentsDsl(intentsData.getIntentsDls()).
+ withIntentsDslSamples(intentsData.getSamples()).
withOnRejection(new BiFunction<NCIntentMatch, NCRejection,
NCResult>() {
@Override
public NCResult apply(NCIntentMatch math, NCRejection rej)
{